我有一个分支,是一个分支的分支master。release如果你愿意的话,它更像是一个分支。该release分支受到保护。
master ---> release
Run Code Online (Sandbox Code Playgroud)
从这个release分支开始,我将我的功能从它中分离出来并将其合并到:
master ---> release <--- features
Run Code Online (Sandbox Code Playgroud)
现在,一旦我的功能进入这个release分支,就会出现合并冲突。我的问题就在这里。我知道如果它不是受保护的分支,如何解决冲突,但我不知道如何解决它。
我尝试做的是这样的:
master ---> release ---> release-fix
Run Code Online (Sandbox Code Playgroud)
在 中release-fix,我会重新设置基础master并将其向上推,并使该 PR 的基础成为分支release。但是当我制作 PR 时,它说它仍然无法自动合并。这是做这样的事情的正确方法吗?
TTT*_*TTT 15
我认为有多种方法可以做到这一点,其中之一就是 Dherik 的答案。我通常会做相反的事情:
git fetch# 获取最新所有内容的副本git checkout -b merge-release-into-master origin/master --no-track# 从master上创建一个新分支git merge origin/release --no-ff# 合并到发布分支push -u merge-release-into-master# 推出新的merge-release-into-master分支并将其 PR 到master中。现在应该一切顺利了。附带说明一下,是否有多人以这种方式合并到 master 中(同时多个发布或修补程序分支)?如果不是,我不确定你是如何从发布到主版本中首先遇到合并冲突的。
您可以从分支创建一个新分支release(就像创建release-fix),合并这个新分支上的“冲突”功能,解决冲突并打开从新分支到该分支的新拉取/合并请求release。
我不知道您提到的“自动合并”,但我认为这是解决您在使用受保护分支时描述的问题的最简单方法。