GitHub“解决冲突”按钮已禁用。

6

我是这个仓库的管理员。在这个PR中,我删除了多个文件,并将这些更改从本地合并到了origin/develop分支。当我将origin/develop分支合并到origin/master分支时,我遇到了一个文件的冲突。我们的流程总是从本地到origin/develop再到origin/master。当我将本地合并到origin/develop时,没有出现冲突。

问题:

  1. 为什么“解决冲突”按钮被禁用?我以前从未见过这种情况。

  2. 为什么这个文件会有合并冲突?它是我在这个PR中完全删除的3个配置文件之一。

  3. 为什么我在从origin/develop到origin/master的合并中遇到了这个冲突,而在从本地到origin/develop的合并中却没有出现冲突?

enter image description here

2个回答

4
如果 "解决冲突" 按钮被禁用,说明您的拉取请求合并冲突在 GitHub Enterprise 上无法解决,或者站点管理员已禁用了跨存储库的拉取请求的冲突编辑器。您必须使用其他 Git 客户端(例如 Atom 的 Git 集成或命令行)来解决合并冲突。

3
一个 package.json 中的一行代码为什么会太复杂?这看起来像是一个 GitHub 的问题。 - alansaldivar

4

我知道这是一篇比较旧的文章。但我会分享我的答案,因为我也遇到了同样的问题并且使用以下方法解决了它。

如下所示的屏幕截图,您可以在本地使用命令行解决此问题。

  1. 获取具有冲突的分支(例如master分支)。
  2. 切换到该分支。
  3. 从另一个要合并到其中的分支中拉取代码(从develop将代码拉取到master中)。
  4. 或者将该分支变基为:切换到develop分支,然后对其进行拉取 git pull origin develop。然后切换到master分支并执行git rebase develop
  5. 现在解决冲突,添加更改的文件,提交并将其推送到要合并到的分支(在此情况下为master)。可能会出现您无权执行此操作的情况。在这种情况下,您可以将此分支推送到您的分叉中,然后提出PR请求到主存储库)

还有一种方法。

使用GitHub Desktop。只是它不在官方网站上提供Linux版本。 您可以在此处检查链接。 阅读README文件中的说明并相应地安装。

您可以在此处找到使用GitHub Desktop解决冲突的方法。


“Take a pull”,这一步不太清楚。执行 git pull main 后出现了 fatal: 'main' does not appear to be a git repository 的错误提示。 - Travis D
@TravisD 首先检查一下你本地是否有该分支。如果没有,请获取它,然后再进行拉取操作。 同时检查一下你的命令。应该是 git pull <remote-name> <branch-name>,例如 git pull origin main - Akshay

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