本地有幾個改動,想合併成一個改動
比如在某舊產品上一個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