git rebase -i

本地有幾個改動,想合併成一個改動

比如在某舊產品上一個bug,提交了多次改動,現在想把這相應的改動合併成一個

可以這麼做

按時間現後順序cherry pick到新平臺上,git log

commit ddddddddddddddddddddd
Author: ****
Date:   ********

    change 3


commit cccccccccccccccccc
Author: ****
Date:   ****

    change 2

commit bbbbbbbbbbbbbbbbbbbbbbbbbb
Author: ****
Date:   ****

    change 1

commit aaaaaaaaaaaaaaaaaaaaaaaaaaaa
Author: ****
Date:   ****

    change base
 

現在想把change 1-3合併成一個改動

git rebae -i  aaaaaaaaaaaaaaaaaaaaaaaaaaaa

進入編輯模式

pick bbbbbb change 1

pick cccccc change 2

pick dddddd change 3

修改 第二行和第三行的pick爲s  (squash的簡寫)

pick bbbbbb change 1

s cccccc change 2

s dddddd change 3

保存(wq), 退出

開始編輯commit message,刪除其中所有的change ID

保存(wq), 退出

再次使用git log,可以看到這三個改動合併成了一個,然後 git push

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章