几年前svn用的还挺多,现在基本上git是标配了
Git确实很强大很优秀!
夸了一波git后开始进入正题
两个版本都合并到master分支不一定会产生冲突。
首先产生冲突的本质是git不知道怎么去合并某一行或多行的代码,需要人为的处理告诉它。
说白了就是因为两个分支在修改了同一个文件的同一行代码的情况才可能出现冲突,哪怕是多了一个空格。
当然如果两分支代码互不影响,合并就没冲突了。
这里偶想多说两句,就是大家公司采用的一些不错的git使用流程规范:
①按照bug,需求任务编号等建立分支名,比如bug110,task666等所谓的feature分支
这样一看分支就知道这个分支干嘛用的。缺点就是随着项目迭代bug和需求越来越多,分支也会很庞大。
大家是会定期清理这些分支来解决这个小缺点。
②然后有一个develop分支,专门给开发环境上用的。
③然后测试环境的分支按照约定好的上线日期建立分支名,如release20200416,就代表4月16号大家要上线
④假如4月16大家上线的东西就是解决bug编号是110的和任务编号是666的,那么大家会将bug110和task666合并到这个release分支,jenkins构建完测试去测
⑤假如这两个测试通过了那就直接把这个release分支合并到master,假如有一个没通过那么就删了这个分支重新建一个release分支,把测试通过的功能分支合进去后,最后用新的release合到master
⑥等到上线了把develop分支基于master去rebase一下
基本就这样,感觉屡试不爽。当然避免不了冲突,但是一般都没有多大的冲突,很好解决。
上述的编号都是来自禅道或者redmine的。
手机码字太不容易了,希望对你有帮助。
感兴趣可以关注偶,一共交流学习进步!