本地有几个改动,想合并成一个改动
比如在某旧产品上一个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