git合并多个commit

一共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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commi...
    陳云峰阅读 703评论 0 1
  • 前言 虽然看到博主都写了有关git rebase -i合并commit的博文,但为巩固知识也在自己的博客中稍微做一...
    胡哈哈哈阅读 3,049评论 0 0
  • 在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commi...
    _Ryeeeeee阅读 287,644评论 29 134
  • 1 外婆今天70大寿,远嫁的阿姨和在外事业的阿姨都回来了,我在浏阳,开车回去不到3小时,到昨晚临睡前先生才决定好,...
    橘子778阅读 494评论 0 1
  • 姓名:沈华立 公司:慈溪市创鑫车辆零部件有限公司 六项精进224期利他二组学员 【日精进打卡191天】 【知~学习...
    沈华立阅读 106评论 0 0