"date" est un peu un concept lâche dans git. Un commit auront un auteur date qui peut être un certain temps dans le passé avant que quelqu'un tire/engage les engager dans leur référentiel, aussi la validation peut être relocalisée et mis à jour pour être au top de façon apparemment plus récents s'engager.
Un commit a aussi un commit date de mise à jour si un commit est relocalisée ou modifié de quelque façon. Ces révisions sont plus susceptibles d'être dans une sorte d'ordre chronologique, mais vous êtes toujours à la merci de la committer avoir le bon temps de jeu sur son ordinateur et même, un non modifié commettre pouvez vous asseoir sur une branche, sur un dépôt distant indéfiniment avant de les fusionner dans la branche master du dépôt central.
Ce qui est probablement le plus utile pour vos besoins est le reflog date du dépôt en question. Si vous avez par branche reflogs activé (reportez - git config core.logAllRefUpdates
), alors vous pouvez utiliser l' ref@{date}
de la syntaxe pour faire référence à l'emplacement d'une branche a été à un moment donné.
E. g.
git log -p master@{2009-07-01}..master@{now}
Vous pouvez également utiliser 'floue' des descriptions telles que:
git log -p "master@{1 month ago}..master@{yesterday}"
Ces commandes montrera tous les commits qui ont "apparu" dans la branche du dépôt, indépendamment de la façon dont "vieux", ils sont en fait en fonction de leur auteur et de commettre des dates.
Notez que la direction de la reflog est spécifique à un référentiel, donc, si vous exécutez la commande log sur un clone, et que vous ne tirez pas pour, disons, un mois, puis tirez sur tous les changements pour le dernier mois à la fois, puis tous les mois dernier, des changements apparaissent dans un @{1 hour ago}..@{now}
de la gamme. Si vous êtes en mesure d'exécuter la commande log sur le "central" repostory que les gens poussent, alors il peut faire ce que vous voulez.