git reset --hard <sha1>.那删除了一切吗?

Vin*_*kal 2 git github

我有一个分支开发和一个分支前沿.

我在dev上提交了SHA1 id,说4356xyz.我希望它能走在前沿.所以我检查了前沿并做了

git reset --hard 4356xyz

现在,当我这样做时,git log我发现两个分支的历史都变得相同.在我进行重置之前,有没有办法恢复先前的尖端分支历史?

mea*_*gar 5

git reset --hard 4356xyz拿了你的cutting-edge分支并指出了那个提交.如果那是指向的同一个提交dev,那么是的,它们将共享相同的历史记录,因为它们现在指向同一个提交.

您可以检查git reflog以确定您的分支cutting-edge指向的内容,然后告诉您在提交时将其指向4356xyz.

将来,如果要将提交从一个分支添加到另一个分支,则需要合并分支,或者挑选特定的提交.

要拉,只需提交4356xyz,你会git checkout cutting-edge,然后git cherry-pick 4356xyz.