美文网首页
分支合并提前检测冲突

分支合并提前检测冲突

作者: 邬思道 | 来源:发表于2019-05-01 11:42 被阅读0次

多人开发场景中,经常会出现分支合并冲突的现象,同时解决起来也很麻烦.

因为涉及多人修改同一处代码,有可能这段代码修改,已经过去很久了,很难知道应该保留哪一方的修改。

严重影响了开发效率,为此需要提前发现冲突,提前修复

为什么要提前检测,能带来什么好处?

1. 早发现,早整治,能100%无冲突合入,提高合入率,减少返工率

2. 能发现哪些文件哪些函数经常出现冲突,对这些文件及函数进行统一整改

怎么检测?检测的原理是什么?

场景举例:

    1. 个人分支:personal

    2. 项目主干分支:master

    3. 开发人员在个人分支上进行特性开发,期间可能会往远端库推送多次,最终会合入到主干分支

检测时机

1. 分支推送到远端库后,自动触发自动化构建检测

    * 缺点:频繁检测,浪费资源,可能要修复冲突多次

2. 分支需要合入主干时,如创建Merge/Pull Request后,发起检测

    * 优点:在需要时检测,如有冲突,只需修复一次

怎么检测

通过三路合并检测:

  1. 通过`git merge-base personal master`找出共同的节点,称之为:base_sha

  2. 通过`git merge-tree base_sha personal master`获取合并后的结果

  3. 如果输出有`changed in both`字样,那说明存在冲突

总结

1. 定期拉取主干分支,更新到个人分支,保持与主干分支差异最想

2. 开发完成后,尽快合入 

3. 根据冲突提前检测,统计出频繁冲突文件列表,能够提前预警

相关文章

  • 分支合并提前检测冲突

    多人开发场景中,经常会出现分支合并冲突的现象,同时解决起来也很麻烦.因为涉及多人修改同一处代码,有可能这段代码修改...

  • Git分支

    分支简介 分支创建 分支切换 分支新建与合并 新建分支 分支的合并 分支删除 遇到冲突时的分支合并 解决冲突之后,...

  • Git分支合并及冲突解决

    分支合并 $ git checkout 分支名A $ git merge 分支名B 产生合并冲突 查看冲突情况 $...

  • git合并分支命令

    开发分支dev合并到master master代码改动后,同步到开发分支dev 合并代码冲突 如果合并时有冲突,则...

  • git使用五合并与冲突

    分支合并与冲突 不冲突的情况 如果一个分支靠前,一个落后。如果不冲突,那么落后分支可以通过合并追赶上靠前分支。 分...

  • git 学习笔记4

    创建与合并分支 master 主分支HEAD 当前分支 分支冲突 git merge后发现分支冲突;git sta...

  • git强制合并分支

    git A分支合并B分支,并强制使用B分支代码(不手动解决冲突) git A分支合并B分支,并强制使用A分支代...

  • git查看分支、合并分支

    1查看分支 1.1查看远程分支: 1.2查看本地分支: 2 合并分支、解决冲突 2.1如何分支的合并 在git中,...

  • SVN 常用命令

    创建新分支 checkout 已有分支 合并chunk 代码到分支上 冲突解决 手动解决冲突后,执行

  • git常用操作与命令

    直接贴代码如下:创建分支: 合并分支: 本地创建分支: git代码冲突

网友评论

      本文标题:分支合并提前检测冲突

      本文链接:https://www.haomeiwen.com/subject/rdiinqtx.html