在特定日期获取 Git 存储库的快照

8

假设我有一个包含多个分支的仓库。

是否可以使用通常的git命令获取某个特定日期/时间的仓库快照呢?(我们目前每天都有代码转储,我正在考虑消除这种情况)

(假设没有永久删除分支,并且git提交历史记录没有被更改)

编辑:中间分支合并是可能的。

1个回答

8
请注意,基于引用日志(默认限制为90天),要小心日期@{<date>}
请参阅《指定修订版本》的相关内容。git rev-parse
另一种方法可参考《以日期检出git》。
git checkout `git rev-list -n 1 --before="2013-09-25 5:00" master`

请注意这个警告

rev-list 如果有任何合并的分支将无法工作。
例如:我想回到 V5 分支,但最终进入了 V4.2 分支。

更加可靠的方法是添加 --first-parent 参数:

git checkout `git rev-list -n 1 --first-parent --before="2013-09-25 5:00" master`

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