Git:恢复我修改后的更改以合并提交

Art*_*tem 7 git git-commit

我不小心修改了合并提交而不是创建新提交。现在我不知道如何将更改提取到我可以推送的正常提交中。更改将显示在 gitk 中,但不会出现在 format-patch 中。请帮忙。

And*_*w C 8

您在这里有 2 个感兴趣的 SHA - 原始合并提交和修改后的合并提交。你想要做什么是git resetHEAD原来的合并提交,并保留原有的指标和工作目录。然后,您可以创建一个挂在合并提交上的新提交。

git reflog

找到原始合并提交的 SHA

使用git reset ORIGINAL_MERGE_COMMIT_SHAreflog 或直接从 reflog重置为提交, git reset HEAD@{X}其中 X 为 1 或 reflog 中表示合并提交的位置。

您现在应该准备好进行git commit原始更改,不要在此处传入 --amend,您将创建一个新提交。