【日常实用】git rebase合并多笔为一笔提交

前言:在日常开发中,经常会遇到master分支和自己的分支已经渐行渐远,分叉久已,此时并不能用get merge 的方式合并代码了,这个时候想要将多笔提交合并成一笔并解决好冲突提交话,get rebase 就派上了用场了。

【举例说明】

一、新建并查看2个分支

【日常实用】git rebase合并多笔为一笔提交_第1张图片
此时你想查看分支都提交了些什么,使用 git log 命令 即可,如下:在deng分支上最近2笔提交为 deng-csdn-1和 deng-csdn-2
【日常实用】git rebase合并多笔为一笔提交_第2张图片
备注:输入git log 命令后,想退出查看,输入 wq 按enter键即可 退出
而master分支上此时却多了很多别人的提交了。
【日常实用】git rebase合并多笔为一笔提交_第3张图片

二、图形化rebase

Android studio 已经在git 命令集成且提供了良好的图形化界面,这使得我们能够加速快发,下面就展示一下如何使用。

  • 首先,git checkout deng 切换到自己的分支上,点击菜单栏上的git 并选择rebase选项
    【日常实用】git rebase合并多笔为一笔提交_第4张图片

  • 然后,选择要rebase分支以及rebase的携带的参数,这里选择的是交互式rebase就是在rebase前都会让用户去确认。
    【日常实用】git rebase合并多笔为一笔提交_第5张图片

  • 其次,点击Rebase按钮,出现如下图标,按照图片上的图标就选择,就会向上合并 将 2笔提交合成一笔提交。
    【日常实用】git rebase合并多笔为一笔提交_第6张图片

  • 接着,点击Start Rebasing ,如果你分支修改的代码没有和别人发生冲突,很好,此时会顺利的合并完成,但是实际情况基本上都是会有冲突的。代码示例中就是有冲突的,如下所示:
    【日常实用】git rebase合并多笔为一笔提交_第7张图片
    冲突的代码都会在这里列举出来,有三个选择:接收自己的,接收他人的,和二者合并。此时就需要根据实际情况去做选择,本文选择:Merge选项,以确保合并的正确性。

  • 最后,解决冲突。左边是自己分支,右边是master分支,中间就是最后合并的结果,这里根据项目开发的实际情况去做选择,只要把冲突解决后,点击 apply 按键后 即可 完成 rebase操作。
    【日常实用】git rebase合并多笔为一笔提交_第8张图片

  • 彩蛋, 重新命名你多笔合并成一笔的名称,如果不写则默认使用的是第一笔的名称
    【日常实用】git rebase合并多笔为一笔提交_第9张图片
    可以在deng分支上git log 看一下,果然,已经在master上的代码rebase过来了,并且将自己多笔的提交合并成了一笔。
    【日常实用】git rebase合并多笔为一笔提交_第10张图片

总结:至此在deng的分支上就rebase了master的所有代码,此时就可以很愉快地将deng这个分支的代码推到远程仓库中去啦,提一个pr,等大佬审核通过就可以入库咯。

(如果错误,欢迎批评指正,请大佬轻喷)

你可能感兴趣的:(git,github)