获取特定日期的git仓库的快照

时间:2013-09-26 13:51:52

标签: git git-log git-checkout

说我有一个有多个banches的回购。

是否可以使用常用的git foo获取某些特定日期/时间的回购快照? (我们目前每天都有代码转储,我正在考虑删除它的方法)

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

编辑:可以进行临时分支合并。

1 个答案:

答案 0 :(得分:7)

根据reflog(意味着,默认限制为90天)谨防@{<date>}
请参阅Specifying Revisions中的“git rev-parse”。

git checkout by date”建议另一种方法:

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

注意this warning though

  如果您合并了任何分支,

rev-list将无效   例如:我想返回V5分支,但最终进入V4.2分支。

更强大的方法是添加--first-parent

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