zoukankan      html  css  js  c++  java
  • 记录一次git合并

    背景

    我今天在向其他分支合并代码时,出现冲突,然后我就在gitLab网页上解决冲突。等我下午回头整理自己分支的时候,发现自己分支有其他分支的代码。这也是GitLab在merge代码时的一个操作:反向合并

    模拟重现

    • A:自己提测分支,于明天要合并到master分支;
    • B:其他提测分支,于后天要合并到master分支;

    由于测试环境正在测试B分支的功能,所以测试环境只能发B分支;现在我想验证A分支上临时添加的小功能,所以我就要把A分支合并B分支上,但出现冲突了,我在GitLab上直接解决冲突了。

    GitLab的解决冲突的机制:会先将B合并到A分支,此时A分支把冲突解决了,再将把解决冲突后的A分支合并到B分支。

    这个时候就出现问题了:
    明天要上线的A分支,含有后天才上线B分支的代码!!!

    解决办法:

    首先,明确一个规则:A分支一定不能含有B分支的代码。
    而在测试分支互相合并出现冲突后,不能直接解决冲突。因为,一但解决冲突,俩个测试分支都互相含有对方分支的代码;只要俩个分支上线时间不一致,就会违反上面的规则。

    如何解决?
    新建一个临时分支C,测试环境使用C分支来测试。以最先上线的分支A来创建分支C,然后B分支向C提代码,这样只有B分支有A分支代码,而A分支是干净的。

    git冲突的原因

    https://blog.csdn.net/themagickeyjianan/article/details/81540662

  • 相关阅读:
    内核模块的一些问题
    [转]change the linux startup logo
    raspbian 静态IP
    [转]centos7 配置yum源(本地+光盘)
    [转]source inslght使用指导
    T420修改wifi灯闪动模式
    root运行chrome
    [转]理解阻塞非阻塞与同步异步
    [转] 计算机体系架构分类
    Win7下安装 Oracle Virtual Box
  • 原文地址:https://www.cnblogs.com/fourther/p/13701895.html
Copyright © 2011-2022 走看看