我能否从Git中检索文件在特定日期的版本?

5

我需要在git仓库中检索某个文件的版本,该版本是在指定日期之前的最后一次提交。例如,我的日期是2013年3月8日,所以我想要在2013年3月7日或之前提交的文件版本。

我可以使用类似git show HEAD~<REVISION-NUM>:foo/bar/myfile.c的命令,但我必须找出我的日期对应的<REVISION-NUM>。此外,如果我需要检索同一日期的多个文件,则它们的<REVISION-NUM>可能会不同。

因此,是否有一种命令可以直接指定日期呢?

2个回答

5
您可以使用rev-parse来完成这个操作。
详见 git help rev-parse
例如:
git checkout 'master@{2013-06-01}'
git checkout 'master@{yesterday}'
git checkout 'master@{5 days ago}'

2
这将获取你所需日期之前的最新提交记录:
git log -n1 --before <date>

您可以通过检查该提交记录(即git checkout <sha1>)来查看在该时间点上所有文件的状态。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接