我需要在我的git存储库中检索某个文件的版本,这是日期之前的最后一次提交。例如,我的日期是2013-03-08,所以我想要在2013-03-07或之前提交的文件版本。
我可以使用像git show HEAD~<REVISION-NUM>:foo/bar/myfile.c
这样的命令,但我必须弄明白我的日期<REVISION-NUM>
是什么。此外,如果我需要检索同一日期的多个文件,他们的<REVISION-NUM>
可能会有所不同。
那么是否有一个允许我直接指定日期的命令
答案 0 :(得分:4)
您可以使用rev-parse
git help rev-parse
了解详情,例如
git checkout 'master@{2013-06-01}'
git checkout 'master@{yesterday}'
git checkout 'master@{5 days ago}'
答案 1 :(得分:2)
这将为您提供所需日期之前的最新提交:
git log -n1 --before <date>
然后您可以检查该提交(即git checkout <sha1>
)并查看当时所有文件的状态。