无法解决Pull Request中的GitHub冲突

4

我在GitHub仓库中有一个PR(别人的PR),由于冲突无法合并。

我应该如何自己解决这些冲突?

我尝试了以下步骤:

  1. 从PR中创建新分支
  2. 检出、拉取和合并主分支
  3. 手动解决冲突。很费力。
  4. 本地测试,可以工作。 :)
  5. 暂存所有文件 git add .
  6. 提交和推送
  7. 创建一个新的PR
  8. 然后仍然显示“此分支存在必须解决的冲突”消息。

我做错了什么?本地一切正常,git status报告如下:

在branch2分支上 您的分支与 'origin/branchX' 最新状态一致。

没有要提交的内容,工作区干净

PS:如果我重新执行"merge master",所有冲突都会回来。不理解为什么。

1个回答

4

通常的工作流程是:

  • 确保你从upstream获取了最新的master,其中upstream是引用原始存储库的远程名称,参见三角工作流程)

https://cloud.githubusercontent.com/assets/1319791/8943755/5dcdcae4-354a-11e5-9f82-915914fad4f7.png

git fetch upstream

然后你创建自己的分支(在你自己的 fork 中,在那里你已经从另一个 fork 中获取了 PR 分支)。
git checkout -b branch2 otherfork/PRbranch

您需要将该分支在upstream/master之上进行变基操作,重点是不要合并:只进行变基操作,这样,您将解决冲突,并使branch2的历史记录成为upstream/master之上的附加提交,这将使PR在应用于原始repo(即upstream)的master时成为一个简单的快进合并。


你能解释一下为什么合并操作没有成功,以及如何在不重做所有工作的情况下修复当前的情况吗?(当前状态=已与主分支合并并解决了冲突,所以是第5步) - Julian
@Julian,你仍然需要进行一次变基,但这次你可以通过保留你的版本(https://dev59.com/Amoy5IYBdhLWcg3wa9Yj#8566376)来解决任何冲突(实际上是保留“theirs”,因为变基会交换我们和他们的版本:https://dev59.com/K3A75IYBdhLWcg3w4tV7#3052118)。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接