这是我在推送代码之前通常遵循的将多个提交合并为一个提交的方式。
为此,我建议您使用GIT 提供的' squash ' 概念。
请按照以下步骤操作。
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
当您保存它时,您有一个提交,其中介绍了所有三个先前提交的更改。
希望这会帮助你。