如何撤销一个糟糕的 --amend 提交?

5
这可能听起来很奇怪,但我刚刚修改了一个提交以测试我的EDITOR环境变量。我没有意识到即使我没有编辑提交消息或任何文件,提交也会被修改。所涉及的提交是从develop分支合并到master分支并打了标签。然而,在修改后,分支结构变得混乱:

Screen shot

我不知道这有多糟糕或将来会引起多少问题,但在了解更多之前,我不敢触碰存储库。我真的很想将存储库倒回到修改“添加文档”提交之前的状态。develop分支应该指向合并到master分支的“添加文档”提交,并且当前的“添加文档”提交不应存在。
这可行吗?

相关内容:

1个回答

19
你应该能够完成一个
git reflog

然后找出你在“commit --amend”之前所在的提交。通常这将是HEAD@{1}。现在执行

git reset --soft HEAD@{1}

太完美了!在我这种情况下,它是HEAD@{6} - Hubro
1
请注意,如果您只使用gitk,则通常会更容易。您已经知道要将头移动到哪个提交。只需从gitk中复制sha并运行git reset --soft **SHA**即可。 - Chronial

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接