开发过程中如何解决代码版本冲突

一 概述

Git是一个非常好用的版本控制工具,在开发过程中我们利用它来进行版本控制,我们在开发的过程中会建立不同的分支来完成不同的功能。

  • 主分支:master
  • 开发分支:develop
  • bug修复分支:hotfix
  • 准备生产分支:realease
  • 功能分支:feature

二 常见的代码版本冲突与解决方法

hotfix与devlop分支造成版本冲突

场景:当产品线上发现bug时,此时线上代码在master分支上,由于我们当前分支devlop时当前工作的分支,存在一些待测试验证的代码,所以我们需要从maseter分支中新拉出一个修复bug的分支命名为hotfix,当我们修复好bug时,会存在多种情况。

  1. 当前修复的bug与devlop分支的代码同时上线。
  2. 当前修复的bug早于devlop分支的代码上线。
  3. 当前修复的bug代码晚于devlop分支的代码上线(一般不会如此)。

对于1解决方法:

我们可以从master分支再拉出一个新分支rebase,然后将bug和devlop同时合并到rebase分支上,最后解决冲突,当冲突解决后,代码变得稳定之后再合并到master分支上。

对于2解决方法:

由于bug分支的代码要提前上线,即提前被合并到master分支上,所以devlop分支的代码在提交前迟了一个版本,所以不能直接将其合并到master分支或者提交PR,我们应该先将master分支合并到devlop分支,然后解决掉版本之前的冲突,最后将稳定的且没有冲突的代码合并到master分支发布。

对于问题3的解决与2类似,但是这种情况一般不会出现。

多人协作开发造成的冲突

场景:多个人对于同一个版本master分支代码各自拉出一个新的分支进行开发,此时会存在多个人修改相同的内容,我们就不能直接提交代码,因为最后一个提交的人会将前几个人提交的代码覆盖。

解决方法:我们可以拉出一个共同的分支dev,此时当代码需要合并的时候,先提交到共同分支dev上,每个开发者提交代码之前都应该pull一下,在本地解决好冲突,然后发布代码到dev分支,当多人共同开发完后再将dev分支上稳定的代码合并到master分支上。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值