我们本地提交2个commit


git log

现在我们想合并这2个commit
git rebase -i

下面的是新的提交
我们把第二行对应的 pick 修改成 squash
意味着把commit1和commit2合成一个commit



我们在提交一个新的new commit

但是想修改之前的那个commit1
git rebase -i

第一行的pack 修改成edit , 然后保存退出

只展示commit1的内容,没有展示new commit内容
我们正在针对commit1做修改
在本地做少许改动
然后
git add .
git commit --amend
git rebase --continue
commit1就有的新的变动,不影响new conmmit的这次提交
再来个骚操作,我们又想把2个commit的顺序替换

把这两行调换顺序即可,new commit本来是新的提交,在第二行,我们把它换到第一行,保存退出
2个commit的顺序就变了

