分支冲突的原因

以现在浅薄的认知,遇到产生分支冲突的情况主要有两种,也可看成一种(同一个文件同一行):

1.情况一:A、B拉取了同一个分支同一个版本的代码,并且在同一个文件的同一行上做了不同的修改,A首先完成开发任务并且提交代码,B在之后也完成了开发任务,此时为了保持代码同步,B需要首先将修改文件提交到本地的git仓库,然后拉取最新的代码,此时冲突会产生。冲突原因在于A、B都改了同一个文件的同一行代码,B在拉取完代码后会紧接着做提交操作,那么在两个人都改过的行中应该用哪个人提交的代码呢?由于这个原因机器是无法做出判断的,此时就产生了冲突

2.情况二:A、B在不同分支上开发,一开始两个分支代码保持一致,然后两个人都完成了开发任务并且提交,但是A、B在各自分支上都改了同一个文件的同一行代码,此时需要将两个人的成果合并到一起,即合并分支。记住此时A、B在开发过程中并不是只提交了一次,而是可能在各自的分支上提交了很多次,才完成开发任务,但是他们都有共同的出发点,即在开发之前两个分支的代码是保持一致的。开始合并分支,A分支合并到B分支(A的新代码覆盖B的旧代码),或者B分支合并到A分支(B的新代码覆盖A的旧代码)正常情况下他们应该改的是不同的文件,然后合并后覆盖了旧代码(指刚开始开发的版本),但是现在产生一个情况,两个人在同一个文件的同一行都做了修改。此时应该选用哪个分支的最新代码呢?机器不会帮我们做出选择,所以产生了冲突。

冲突是个棘手的问题,需要相关开发人员协同解决。及时解决是非常必要的,如果没有及时解决且直接合并了分支,则需要先回退代码。如果不及时解决冲突并且在之后又做了很多开发(包括后续合并分支),当发现问题时,可能会是一场灾难。合并分支需谨慎,解决冲突要及时!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值