Git pull 请求说 "This branch has conflicts that must be resolved"

标签 git github pull-request

<分区>

我从一个开源存储库中 fork 并从我的 fork 中克隆。我创建了一个功能分支,进行了一些更改,将它们推送到我的 fork 存储库,然后从那里向主存储库提交了 pull 请求。

后来我对同一本地功能分支进行了更多更改,从开源存储库中提取最新的 master,将我的更改重新基于它,并将它们推送到我的分支上的同一功能分支。 pull 请求已自动更新,但现在 GitHub 上的 pull 请求页面(在我的 repo 和主 repo 中)指出“所有检查已通过”,但随后又说“此分支有必须解决的冲突”。

这是否仅仅是因为在我提交后其他 pull 请求已被 merge ?还是有其他原因导致冲突?如何找出原因?

我在提交这个问题之前看到的答案涉及 merge 具有不同名称或所有者的分支。我想知道:

  1. 我是否正确执行了 pull 请求?如果不是,应该有什么不同? (在 rebase 之后和提交 pull 请求之前,我的本地 git 中没有冲突。)
  2. 如果在我修改 pull 请求后对开源主分支进行了其他更新,是否会导致出现“分支冲突”错误?
  3. 如果 pull 请求正确完成并且以后从其他地方进行的更新不会导致该错误,我如何找出导致错误的原因?

最佳答案

这将是因为上游(您从中 fork 的原始 repo )有未包含在您的 pull 请求的 repo 中的提交(无论是来自其他 pull 请求获得批准和 merge ,还是只是贡献者自己的提交是一个有争议的点)。

这里的解决方案是从上游存储库中获取(您从中 fork 的原始存储库)并在本地解决您的 merge 冲突,这样您的 pull 请求就不会不需要原始仓库的审阅者必须处理 merge 冲突。

关于Git pull 请求说 "This branch has conflicts that must be resolved",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32030779/

相关文章:

Git:如何创建不同的未 merge 状态?

git - Azure DevOps PR 消息 - "Work items only from the first 100 commits will be linked"?

Git pull - 涂抹过滤器lfs失败

Ruby、Sinatra、omniauth-github 身份验证失败回调错误

github - git : Corrupt MERGE_HEAD file when merging with master

javascript - 如何限制 git 跟踪/更新本地更改?

git - 如何用我已经是最新的 fork 来表明我是 "merged"?

jenkins - PR 合并意味着什么?

Git 变更日志 : how to get all changes up to a specific tag?

git - TortoiseGit 更改默认端口 22