Answers:
如果您在某个分支机构mybranch
,那就继续吧git checkout commit_hash
。然后,您可以通过返回到您的分支git checkout mybranch
。今天我有同样的游戏将bug分成两部分:)另外,您应该了解git bisect。
git checkout commit_hash
如果您使用的是干净的存储库,而无需进行分支,则可以执行此操作。在某些用例(例如我的用例)中可能会更容易。
git bisect
参考;多么有用的工具!
首先,使用git log
来查看日志,选择所需的提交,记下用于标识提交的sha1哈希。接下来,运行git checkout hash
。完成后,git checkout original_branch
。这具有不移动HEAD的优点,它只是将工作副本切换到特定的提交。
git checkout <original_branch>
。git checkout HEAD
实际上是一项NOOP
git reset --hard <hash>
更改当前分支的HEAD,与此同时,git checkout <hash>
您将获得不更改任何分支的分离结帐,并且可以轻松返回而无需知道该分支的原始哈希ID,如此答案所示。
除了此处显示的其他答案外,git checkout <the-hash-you-want>
值得知道的是您可以切换回使用的位置:
git checkout @{-1}
这通常比以下更方便:
git checkout what-was-that-original-branch-called-again-question-mark
如您所料,git checkout @{-2}
将带您回到两年前git checkout
的分支机构,其他号码也是如此。如果您能记住大数字所在的位置,则应该获得某种奖章。
可悲的是,为了提高生产力,git checkout @{1}
您并没有带您去将来要去的分支机构,这真是可惜。
git checkout -
是git checkout @{-1}
@{n}
语法也很有用,因为它可以与许多git命令一起使用。我发现很难添加您的速记而不使答案相当混乱。相反,我投票支持您的评论-希望人们能看到它。再次感谢。
git merge -
,将您上次签出的分支合并到当前签出的分支中。就像cd -
bash一样。