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

8
我已经提交了一个提交,CM,然后应用了几个补丁,P1P2。因此我的历史记录看起来像这样:
C1-C2-CM-P1-P2

这里的 C1C2 是两个之前的提交。

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

C1-C2-P1-P2-CM
3个回答

16
如果您尚未推送您的分支,您可以进行交互式变基:
git rebase -i C2
你可以将你的提交重新排序为P1-P2-CM,并在C2之上重新应用它们。

8

您可以使用rebase -i命令。

$ git rebase -i HEAD~5

它将使用最近的5个提交记录打开您的文本编辑器。按您想要的顺序重新排列提交记录,然后保存并关闭。


1
HEAD~3或C2(如我在答案中提到的)应该足够了。 - VonC

2

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


为什么要用C1?C2(正如我在答案中提到的)应该足够了。 - VonC
应该就是了。我只是选择了我能找到的第一个提交。 - Noufal Ibrahim

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