我有一个分支机构和一个分支机构。
我在开发时提交了SHA1 id,说4356xyz。我希望它能走在前沿。所以我检查了最前沿并做了
git reset --hard 4356xyz
现在当我git log
时,我看到两个分支的历史都变得相同。
在我进行重置之前,有没有办法可以恢复先前的尖端分支历史?
答案 0 :(得分:5)
git reset --hard 4356xyz
带走了你的cutting-edge
分支,并将其指向该提交。如果那是dev
指向的同一个提交,那么是的,它们将共享相同的历史记录,因为它们现在指向同一个提交。
您可以检查git reflog
以确定您的分支cutting-edge
在之前指向的内容,并将其指向提交4356xyz
。
将来,如果你想将一个分支的提交添加到另一个分支,你需要合并你的分支,或者挑选特定的提交。
要提取 提交4356xyz
,您需要git checkout cutting-edge
然后git cherry-pick 4356xyz
。
答案 1 :(得分:4)
是的,您可以使用git reflog
命令显示分支头的位置历史记录。选择您想要的提交,并在该提交中使用git reset --hard
。