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

  • 相关阅读:
    韩寒做错了(update 4 12)。
    放弃IE6。
    阿弥陀佛,我没有“抄袭”。
    婚姻。
    爆牙齿饭否?
    地震之后——和妈妈对话。
    8年前,《西班牙,我为你哭泣。》
    在等决赛中提问。
    地震之后——中国互联网在黑夜中哭泣。
    年轻。
  • 原文地址:https://www.cnblogs.com/fourther/p/13701895.html
Copyright © 2011-2022 走看看