git rebase实战操作

背景

合并代码可以选择git merge和git rebase,两者的区别是git rebse可以让你保留一条直线提交历史记录,方便查看。merge则不会。

操作命令

根据git flow规范,feture分支都是基于develop分支切的,我们开发完自己的feature分支以后,可以进行git rebase origin develop,然后再切到develop分支进行merge操作,当然你执行git rebae origin develop以后,也可以直接在github上执行PR操作,即pull request。

综上,主要2个步骤:

  • git rebase
  • git merge

多一步git rebase是因为我想让develop分支上面保留一条直线历史提交记录,然后这样比较方便看提交记录,不至于那么乱。

具体命令:

比如我开发完feature/1225分支了以后,我现在要进行git rebase和git merge操作

  • git rebase
git fetch --all && git rebase -i origin/develop

1、如何将feature/1225分支 的多个commit合并成一个? 

你运行上述命令以后,会跳到另外一个页面,你将除了第一个pick,后面所有的pick 改成s,然后按下esc键,然后wq退出

2、如何将feature/1225分支 的多个commit msg合并成一个? 

删除留下一个即可。 

  • git merge

发起PR即可

总结: 

rebase 特点:会合并之前的commit历史
优点:得到更简洁的项目历史,去掉了merge commit
缺点:如果合并出现代码问题不容易定位,因为re-write了history

如果你想要一个干净的,没有merge commit的线性历史树,那么你应该选择git rebase
如果你想保留完整的历史记录,并且想要避免重写commit history的风险,你应该选择使用git merge

注意:

合并时如果出现冲突需要按照如下步骤解决

  • 修改冲突部分
  • git add
  • git rebase --continue
  • (如果第三步无效可以执行 git rebase --skip

不要在git add 之后习惯性的执行 git commit命令。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值