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),有幾個寫幾個,把重復的去掉,然后保存即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM