您当前的位置: 首页 > 

石头wang

暂无认证

  • 0浏览

    0关注

    295博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

分支合并到b和b合并到a有区别吗

石头wang 发布时间:2022-09-04 18:43:34 ,浏览量:0

a分支合并到b分支和b合并到a有区别吗 一、背景

研究下关于 a 和 b 两个分支 a合并到b 和 b合并到a 有什么区别。

结论:不用纠结合并代码的时候谁合并谁,只是方向不一样

二、实验

有两个分支,分别是 feat_w8y 和 feat_617,最初都有共同的起始点,都是从c1这个revision(commit id)分叉出来的,feat_w8y分支上修改了代码向前进到c2 revision,而feat_617也修改同一行代码向前进到c3 revision。

由于修改了同一行代码,两个分支合并的时候会出现代码冲突。

现在来研究 “a合并到b” 和 “b合并到a” 有什么不同。

背景:

feat_w8y分支上将方法名由 getProfile 改成 getProfiles_byw8y

feat_617分支上将方法名改成 getProfiles_by617

  • feat_617上合并feat_w8y(即feat_617 c3,a和b分支都在c3上,或者 “a分支在c2,b分支在c3”)

    • 可能存在多个分叉点,存在一个最近的分叉点

      在这里插入图片描述

      看图有两个主线,上面a分支,下面b分支
      
      可以看到分叉点是:c1,c6,c12
      汇聚点是:c6,c10
      结论:最近的分叉点是c12
      
    思考3

    如何看懂合并后的这些符号? 在这里插入图片描述

    • 夹着的是 feat_w8y 分支的内容

    • 什么是HEAD的?HEAD在这里就是指HEAD所指向的commit,其实就是当前所在的分支。比如截图就是在feat_617上执行merge命令合并feat_w8y,所以HEAD是指feat_617分支

    可以看到GitHub自己的编辑器显示的就不是像 HEAD 这么难理解的,直接展示为分支名,如feat_617和feat_w8y 在这里插入图片描述

    • 可以使用 git status 查询有什么文件冲突,也可以搜索

关注
打赏
1663722529
查看更多评论
0.0357s