8

假设我有一个包含多个银行的回购。

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

(假设没有永久删除任何分支,并且没有玩过 git commit 历史)

编辑:临时分支合并是可能的。

4

1 回答 1

8

当心@{<date>}, 基于 reflog (意思是,默认限制为 90 天)。
请参阅 中的“指定修订git rev-parse

git checkout by date ” 提出了另一种方法:

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`
于 2013-09-26T14:04:41.533 回答