5

我需要在我的 git 存储库中检索某个文件的版本,这是某个日期之前的最后一次提交。例如,我的日期是 2013-03-08,所以我想要在 2013-03-07 或之前提交的文件的版本。

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

那么有没有一个命令可以让我直接指定日期

4

2 回答 2

4

你可以这样做rev-parse

git help rev-parse有关详细信息,例如

git checkout 'master@{2013-06-01}'
git checkout 'master@{yesterday}'
git checkout 'master@{5 days ago}'
于 2013-06-04T20:12:15.740 回答
2

这将为您提供所需日期之前的最新提交:

git log -n1 --before <date>

然后,您可以检查该提交(即git checkout <sha1>)并查看当时所有文件的状态。

于 2013-06-04T20:02:46.550 回答