当前位置:   article > 正文

关于gitLab上merge时,两个分支代码都存在,但是却有change出现的原因解析_git merge changes

git merge changes

一、问题描述:

两个分支上都有某段代码,但是在gitLab上merge时,却有这段代码的change出现

二、容易出现此问题的场景:

线上分支master上有紧急bug需要改,于是基于master拉了个新分支去改,改好后,想把这部分代码同步到dev和test上去,但是此时dev由于有正在联调中的代码,不能直接和test,于是直接将新分支的代码分别合入dev和test,后面一切走入正轨后,dev合到test,于是发现多了不该有的change

三、复现步骤:

1.从master分支切个新分支A

2.A分支里随便修改个啥,自己开心就好

3.在gitlab上,提A=>dev分支的merge并合并(dev分支上有提测的代码)

4.在gitlab上,提A=>test分支的merge并合并(test分支上有提测的代码,合过之后,两分支代码应该相同)

5.在gitlab上,提dev=>test分支的merge,查看change,发现多了很多change,但是其实,这些change两个分支都存在

四、问题出现原因剖析

gitLab上,不能一对多,只能多对一,否则容易出现版本错乱问题,下面我们来验证下这个问题,复现的步骤,就不重复了,直接用命令来验证

1.对比dev分支和test分支,比较dev分支上有而test分支上没有的内容

git log dev ^test

执行以上命令后,结果如下,发现果然版本出现了问题

2.对比test分支和dev分支,比较test分支上有而dev分支上没有的内容

git log test ^dev

执行以上命令后,结果如下,依旧版本问题

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/952321
推荐阅读
相关标签
  

闽ICP备14008679号