2

我有一个分支开发人员和一个分支前沿。

我在 dev 上有一个 SHA1 id 说 4356xyz 的提交。我希望那是最前沿的。所以我检查了尖端并做了

git reset --hard 4356xyz

现在,当我这样做时,git log我看到两个分支的历史都变得相同。有没有办法可以在重置之前恢复尖端分支的先前历史记录?

4

2 回答 2

5

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

在您告诉 get 指向它之前,您可以检查git reflog以找出您的分支cutting-edge指向的内容 commit 。4356xyz

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

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

于 2012-08-14T05:35:09.763 回答
4

是的,您可以使用该git reflog命令显示分支头所在位置的历史记录。选择您想要的提交,并git reset --hard与该提交一起使用。

于 2012-08-14T05:35:15.583 回答