目标:
- 将多个commit合并,只保留一次提交历史
步骤:
-
首先使用git log查看一下提交历史
如上存在两条commit,那我想1 2 合并成一条,
-
使用git rebase -i HEAD~2
命令:git rebase -i HEAD~n 注: n等于合并的条数,此处我想合并2条
该命令执行后,会弹出一个编辑窗口,2次提交的commit倒序排列,最上面的是最早的提交,最下面的是最近一次提交
- 此时修改第二个pick为squash.然后保持
pick
的意思是要会执行这个 commitsquash
的意思是这个 commit 会被合并到前一个commit
如果你想放弃这次压缩的话,执行以下命令:
git rebase --abort
此时会看到 commit message 的编辑界面
然后将这两个修改成新的 commit message。可以删除其中一个然后修改.
然后保存修改
再次输入git log
查看 commit 历史信息,你会发现这两个 commit 已经合并了。
此时本地已经修改,可以 git push -f remote bug4512 ,推到远程分支,
remote ,bug4512,根据自身的分支进行修改.