直接上方法,這里我的目的是想把這四次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),有幾個寫幾個,把重復的去掉,然后保存即可。