git合并多个commit

2018-03-30  本文已影响74人  我是MTT

一共2种方法,方法二比较简单就不演示了。

rebase
  1. git log查看需要合并哪些commit
  2. git rebase -i XXX(commit的ID,基于XXX之后的所有commit要合并)
  3. 编辑界面中,保留一个pick,其他改为s,然后保存退出。
  4. 编辑commit message界面中,不需要的信息#注释,然后保存退出。
  5. 提交
reset
  1. git log查看不需要合并的最后一个commit id
  2. git reset XXX(回退到该commit,即不需要合并的最后一个commit)
  3. log中所有需要合并的commit 已被去掉,并且这些commit的修改没有保存,于是git add . 把所有修改加入commit。
  4. git commit提交即可

下面演示rebase操作

首先 git log查看需要合并的log,我们要合并最新3个。所以目标commit id是7af1e4af.

1522376678716.jpg

于是执行,git rebase -i 7af1e4af。我们想把前2次commit合并到最后一次当中,所以最后一个为pick,其他改为s。

WX20180330-102514@2x.png

然后保存,退出。然后进入commit message编辑界面。

WX20180330-102551@2x.png

保留你需要的commit message,其他所有信息用#注释。保存退出。
git log查看结果,符合我们的预期,push即可,如果不行请git push -f。

WX20180330-102616@2x.png

下面看看新提交的内容,确实是合并了3次提交。

WX20180330-103018@2x.png
上一篇 下一篇

猜你喜欢

热点阅读