git 多人在同一分支上迭代开发时,如何保证分支提交历史保持线性

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

背景

最近我们组几个同事都投入到了一个新项目,互相之间的功能耦合比较紧密,因此,是打算从master上新拉一个分支,可以理解为我们几个人的开发分支,以develop代替。

一开始,我们是打算像svn那样用的,几个人就把这个新分支develop当做唯一的主干分支,几个人互相快速提交/拉取,回到了用svn的快乐日子。

不过,大家用svn也知道,经常呢,我们为了保证代码不丢,会经常性地往分支提交,即使某个功能写了一半,一个功能,n次commit记录,且和同事的commit交错在一起;另外,我们提交的代码,有时候会导致同事那里跑不起来。

简而言之,就是commit有点碎;另外,可能阻塞其他同事。

我们组长提了另外一种思路,就是,每个人基于这个开发分支develop,再自己单独拉取一个分支出来,如develop-zhangsan,develop-lisi。每个人在自己的单独的分支上开发,开发了一个较为完整的功能后,再提一个pull request给develop,此时,可以对这个较完整的功能做代码review,review通过后,即合并到develop分支。但此时,怎么才是最佳实践呢,且能保证开发分支develop的提交历史成为优雅的一条线呢?

这里假设有张三、李四两个人,基于gitlab、github、gitee等进行开发,最终,主要有以下几个分支:

远程 本地
origin/master master
origin/develop develop
origin/develop-zhangsan develop-zhangsan
origin/develop-lisi develop-lisi

实战环境准备

我这边已经准备好了实战案例,已经把上面的几个分支都拉好了。

https://gitee.com/ckl111/git-rebase-test

假设我先在远程,把这几个分支先建好,我是在gitee操作的。

目前,zhangsan、lisi分支,是基于develop拉出来的,所以最新提交都是一样的。

模拟张三开发

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值