git拉两个版本其中一个改完merge到master,另一个开发完merge到master会冲突吗?

嘌送o8fi4010


Git和svn都是比较不错的代码版本控制工具

几年前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的。

手机码字太不容易了,希望对你有帮助。

感兴趣可以关注我,一共交流学习进步!



码农的搬砖生涯


两个分支不一定会有冲突,这个取决于你修改的东西。如果两个分支改到同一个文件,提交代码的时候会提示有冲突。

有冲突解决就可以了,不用太担心。如果是windows,推荐使用TortoiseGit,解决冲突很方便。


贤爸学堂


存在冲突的可能。

有冲突很正常,几个人会同时修改一个文件,那就解决冲突就好了,不用担心有冲突。

git本来就是版本管理工具,冲突处理是基本功能。


分享到:


相關文章: