代码之家  ›  专栏  ›  技术社区  ›  user2738748

为什么在Bitbucket中会出现合并冲突?

  •  0
  • user2738748  · 技术社区  · 5 年前

    我创建了一个分支 branchB master . 我做了一些提交并创建了一个拉请求来 主人 布兰奇 branchC )它起源于 . 当我的扩展功能准备就绪时,我创建了一个拉入请求 . 见 图片一 . 我当时没有合并冲突。

    enter image description here

    我希望允许审阅者分别查看这两个请求,以及具有较小更改的单独请求。

    我的计划如下:

    • PR1 )掌握使用 --squash 选项
    • PR2 )掌握(见 图2 )

    但是,当我合并pull请求1时( PR1 PR2型 )到 主人 我在拉请求2中遇到了一些冲突( ).

    所以我解决了冲突:

    1. git checkout master

    2. git pull

    3. git checkout branchC

    4. git rebase master

    5. git mergetool

    6. git rebase --continue

    事实上,所描述的问题发生在我身上两次,因为我也 branchD 源于 布兰奇 布兰奇 主人 分支 进入之内 ,在第6步中,我不需要手动解决任何冲突(即使Bitbucket向我显示了合并冲突,所以我不得不重新设置基 布兰奇 ).

    1. 为什么Bitbucket向我显示了 PR2型 PR1 --南瓜 选择? 我希望它能发现照片之间的变化 I II
    2. 为什么我没有得到任何冲突,应该手动解决时,我重新基地 布兰奇 进入之内 主人 branch C 进入之内 主人

    • 桌面上的git版本: 2.17.1.windows.2
    • Bitbucket版本: v5.12.2
    • Bitbucket服务器上的git版本: 2.14.5
    • 1 , 2 , 3 ). 他们没有一个能解决我的问题。

    如果能解释一下这种现象,我将不胜感激。

    编辑: 2我更新了图片来说明这一点 不要从提交开始 B1 C1 分别是。

    0 回复  |  直到 5 年前
        1
  •  1
  •   Dominik Wosiński    5 年前

    如果我能正确理解你的情况。问题是这个 --squash . 这里的主题解释了如何在GIT中完成合并 How does git know which version of a line to keep? .

    当你和 ,因为git提交实际上是不可变的,所以您使用新的ID创建了一个新的压缩提交 PR2 回到master,文件内容在两个地方都发生了变化。为 branchB 有一些ID和for的提交 master branchC ,因为提交的历史与 布兰奇 布兰奇 (没有 此处完成)。