如何在特定提交之前git checkout一次提交

时间:2013-12-08 16:47:33

标签: git

在经历了github问题之后,我发现了一个可能负责破坏代码的提交,我想通过执行以下操作来确认这种怀疑:

git checkout --one-prior f1962b3cc771184a471e1350fa280d80d5fdd09d

1 个答案:

答案 0 :(得分:4)

你走了:

git checkout f1962b3cc771184a471e1350fa280d80d5fdd09d^

注意最后的^。这意味着背后的一个修订版。

例如,这将是5个版本:

git checkout f1962b3cc771184a471e1350fa280d80d5fdd09d^^^^^

......相当于:

git checkout f1962b3cc771184a471e1350fa280d80d5fdd09d~5

顺便说一下,当你这样做时,你将处于分离的HEAD 状态。输出解释了这一点,这非常有趣,值得一读:

  

你处于'超级HEAD'状态。你可以四处看看,制作   实验更改并提交它们,您可以放弃任何提交   你在这种状态下通过表演而不影响任何分支   另一个结账。

     

如果您想创建一个新分支来保留您创建的提交,那么   可以通过再次使用-b和checkout命令来执行此操作(现在或稍后)。   例如:

    git checkout -b new_branch_name