将一个提交移动到所有提交的顶部

move one commit to the top of all commits

我做了一个提交,CM,然后应用了几个补丁,P1P2。 所以我的历史看起来像

C1-C2-CM-P1-P2

其中 C1C2 是之前的两次提交。

问题是我忘记为我的提交创建补丁。 如何将我的提交 CM 移动到提交的顶部?历史应该是这样的

C1-C2-P1-P2-CM

您可以使用 rebase -i.

$ git rebase -i HEAD~5

它将打开您的文本编辑器,其中包含最新的 5 次提交。按照您想要的顺序重新排序提交,然后保存并关闭。

如果你还没有推送你的分支,你可以做一个交互式的变基:

git rebase -i C2

然后您可以将您的提交重新排序为 P1-P2-CM,并在 C2 之上重新应用它们。

执行 git rebase -i C1 然后在弹出的编辑器中重新排序提交,保存并退出。如果没有冲突或其他事情,它将重新排序。