在存储库同步后找到旧的分离 HEAD 的最佳方法是什么?



说有一些本地提交(A, A1, A2, A3)在当前分离的头,指向提交A,在repo同步后,本地分离的头被覆盖与远程最新分离的头,指向提交B,什么是最好的方法来找到旧的提交(A, A1, A2, A3)?

我能想到的最简单的方法是:

  1. git reflog查找A:
HEAD@{1}: checkout: moving from A to B
  1. 然后你可以对A做任何事情,比如
  • 为它创建一个新的分支,以防再次丢失:git switch -c branchname A,或
  • 重新设置或合并到当前的HEAD:git rebase A/git merge A,然后你会看到所有的A, A1, A2, A3出现在当前的HEAD中,一旦所有的冲突(如果有的话)都解决了,不要忘记创建一个新的git switch -c分支。

如果没有额外的操作来移动HEAD,您可以使用HEAD@{1}来知道HEAD在当前之前的确切位置。当然可以用不同的数字:

git log HEAD@{1}

最新更新