通常,这是在推送代码之前将多个Commit合并为一个提交的方式。
为此,我建议您使用GIT提供的“ 壁球 ”概念。
请遵循以下步骤。
1)git rebase -i master(代替master也可以使用特定的提交)
打开rebase交互式编辑器,它将在其中显示所有提交。基本上,您需要确定要合并到单个提交中的提交。
想象一下这些是您的提交,并在编辑器中显示了类似的内容。
pick f7f3f6d changed my name a bit
pick 310154e updated README formatting and added blame
pick a5f4a0d added cat-file
重要的是要注意,这些提交的列出顺序与使用log命令通常看到的相反。意味着,较早的提交将首先显示。
2)将“ pick”更改为“ squash”以进行最后一次提交的更改。如下所示。这样做,您的最后2个提交将与第一个提交合并。
pick f7f3f6d changed my name a bit
squash 310154e updated README formatting and added blame
squash a5f4a0d added cat-file
如果您要合并很多提交,也可以使用简写形式:
p f7f3f6d changed my name a bit
s 310154e updated README formatting and added blame
s a5f4a0d added cat-file
要使用“ i”进行编辑,它将使编辑器可以插入。请记住,最上(最旧)的提交不能被压缩,因为没有先前的提交可以与之结合。因此必须将其选中或“ p”。使用“ Esc”退出插入模式。
3)现在,使用以下命令保存编辑器。
:wq
保存该内容时,您将拥有一个提交,该提交将介绍所有前三个提交的更改。
希望这会帮助你。
git branch -d topic
。为什么git无法识别所有更改都已合并?