【问题标题】:Can merging master into develop in GitFlow ever cause conflict?在 GitFlow 中将 master 合并到 develop 会导致冲突吗?
【发布时间】:2018-12-15 06:15:23
【问题描述】:

我想知道使用 gitflow 并将 master 合并到 develop 是否会导致冲突。我打算把这个“git merge master”变成一个自动的、非交互的过程,所以如果有冲突,它会失败,因为它需要人工交互。

我正在使用 GitFlow,直接应用于 master 的更改是一个版本碰撞,它会碰撞版本、提交,然后将版本更改为快照版本。例如,master 可能有 1.0.1-SNAPSHOT 作为版本。如果我们对它进行版本升级,版本将更改为 1.0.2,然后我们进行 git 提交。然后我们将版本更改为 1.0.2-SNAPSHOT 然后提交。所以每个版本碰撞都会导致两次提交(参见 mvn version updater)。

定期,我想通过调用 git merge 将 master 中的最新版本合并到 develop 中。这将需要版本更改,但它也将需要在 master 而不是在开发中找到的任何其他更改。我相信这不应该引起任何冲突,因为master拥有的一切,develop也应该有,因为我们将develop合并到master。

我已经测试过文件重命名,编辑将被删除的文件,以及对同一个文件的大量编辑,但在这种模式下,我从 master 合并到 development 后不会发生冲突。

有什么办法可以在这里产生冲突吗?尝试自动化合并 master-into-develop 过程会有什么问题吗?谢谢。

【问题讨论】:

    标签: git merge git-flow git-merge-conflict


    【解决方案1】:

    TL;DR 是的!

    我在这里看到了我们需要讨论的多个问题/问题:

    (1) 在git-flow created and documented by nvie 中没有从master 合并到develop 而是从a 合并(在这个例子中我们只使用版本1.0.2release/1.0.2 分支到@ 987654327@和develop

    (2) 这个release/1.0.2 分支旨在成为您调整版本的位置。然后它会自动出现在develop 上,因为您在每次发布后将release/1.0.2 合并到develop 中。无需从master 定期更新。

    (3) master 分支仅包含合并提交,没有其他内容。这只是所有版本的有序列表。

    (4) 在这两种情况下,您都可能会遇到合并冲突,因为在您处理 release/1.0.2 时,develop 会持续工作(假设您不是一个人在整个项目上工作)。如果在同一行中进行了更改,则可能(但不一定需要)出现合并冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-28
      • 2015-08-23
      • 1970-01-01
      相关资源
      最近更新 更多