Git将多个commit合并成一个commit
直接上方法,这里我的目的是想把这四次commit合并成一次
这里使用到一个命令:git rebase -i,
既然要把最上面的合并成一次,那么git rebase -i 后面跟的参数应该是想要合并的最前面commit id的上一个,就是d6c2b....这个
git rebase -i d6c2b9f83c764306a83badf653f3d08a95bad1cd
输入完成会弹出以下框,这里选择基于最早的pick合并,合并到最早的(ec6c077d9e one)合并,其他都合并到前面的commit id去
修改成以下然后保存(意思就是把下面的三个commit 合并到one)
保存后弹出下面
保存之后,git log查看,这里commit变了(正常,因为文件变了)
ok~
补充(合并不连续的commit id):
以上是将连续的commit id合并,假如是不连续的话,那么你也是拿最早的commit id来执行git rebase -i commit id,然后进入弹出框,你会看到pick中没有最早你要合并的那个commitid,这里你需要按照列表的格式把最早的commit id复制到顶部,格式就是 pick commit id XXX,这个XXX就表示注释(可有可无),然后再把你要合并的几个commit一定复制到当前这个新加的pick下面,然后修改成 (s commit id XXXX),有几个写几个,把重复的去掉,然后保存即可。