【问题标题】:Merge conflict when merging back to master合并回master时合并冲突
【发布时间】:2017-09-28 03:08:02
【问题描述】:

我在 Git 中有以下场景: 2家分店

  • 开发
  • 主人

所有开发都在develop 上完成。在develop 上,当我们要创建快照时,我们将创建一个新的snapshot 分支。在这个snapshot 分支上,当我们想要发布它时,我们将创建一个release 分支。

release 之后,我们将发布分支与其snapshot 分支合并回来,并将release 分支与master 合并。

在发布期间,我们在 pom.xml 中使用 mvn:set 更改版本。 除最后一步外,此过程工作正常。我有时会与 releasemaster 之间的合并发生冲突。

例如:我创建了一个版本并与 master = ok 合并。然后我在我的快照分支上做一个修补程序(添加一些文件)并再次发布。新版本将再次与快照合并,但与我的主人合并有冲突,但仅限于pom.xml

Branch master set up to track remote branch master from origin.
Auto-merging xxx/pom.xml
CONFLICT (content): Merge conflict in xxx/pom.xml

pom.xml 里面的版本当然不一样(master 的版本需要替换为release 分支的版本)。但是,releasesnapshot 分支之间的合并也是如此,它始终在工作。

此合并的代码非常基本。它与release 分支和support 分支之间的合并代码几乎相同。它总是有效的。

echo "merge Release branch with master branch";
git checkout master;
git merge REL-1.0.0;
git push origin master;

我在这里错过了什么?

这是合并失败后我的 pom.xml 的内容,其中 1.0.1 需要替换为 1.1.0

<<<<<<< HEAD
    <version>REL-1.0.1</version>
=======
    <version>REL-1.1.0</version>
>>>>>>> REL-1.1.0

【问题讨论】:

  • 为什么要在master中合并release分支?我的做法是,如果发布分支中引入了任何回归,我会从 master 中挑选提交并将其放在发布分支上。发布分支是从最新的 master 创建的。

标签: git maven merge


【解决方案1】:

你必须在提交和推送之前解决这个冲突,所以你必须做类似的事情 echo "merge Release branch with master branch"; git checkout master; git merge REL-1.0.0; git mergetool --tool=kdiff3 git commit git push origin master;

【讨论】:

    猜你喜欢
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 2012-08-04
    • 2020-02-28
    • 2011-08-20
    • 2017-03-04
    相关资源
    最近更新 更多