我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

在 GitHub 上解决合并冲突

您可以使用冲突编辑器在 GitHub 上解决涉及竞争行更改的简单合并冲突。

此文档对您有帮助吗?

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。

您只能在 GitHub Enterprise 上解决由竞争行更改引起的合并冲突,例如当人们对 Git 仓库中不同分支上同一文件的同一行进行不同的更改时。 对于所有其他类型的合并冲突,您必须在命令行上本地解决冲突。 更多信息请参阅“使用命令行解决合并冲突”。

If a site administrator disables the merge conflict editor for pull requests between repositories, you cannot use the conflict editor on GitHub Enterprise and must resolve merge conflicts on the command line. 例如,如果禁用合并冲突编辑器,则无法在复刻和上游仓库之间的拉取请求中使用它。

Warning: When you resolve a merge conflict on GitHub Enterprise, the entire base branch of your pull request is merged into the head branch, even if the head branch is the default branch of your repository or a protected branch. 确保您确实想要提交到此分支。

  1. 在仓库名称下,单击 Pull requests(拉取请求)

    议题和拉取请求选项卡选择

  2. 在“Pull Requests(拉取请求)”列表中,单击含有您想要解决的合并冲突的拉取请求。

  3. 在拉取请求底部附近,单击 Resolve conflicts(解决冲突)

    解决合并冲突按钮

    提示:如果停用 Resolve conflicts(解决冲突)按钮,则拉取请求的合并冲突过于复杂而无法在 GitHub Enterprise 上解决或站点管理员已禁用仓库之间拉取请求的冲突编辑器。 必须使用备用 Git 客户端或在命令行上使用 Git 解决合并冲突。 更多信息请参阅“使用命令行解决合并冲突”。

  4. 决定您是否想只保持分支的更改、只保持其他分支的更改,还是进行全新的更改(可能包含两个分支的更改)。 删除冲突标记 <<<<<<<, =======, >>>>>>> 并在最终合并中进行所需的更改。

    查看带有冲突标记的合并冲突示例

  5. 如果文件中有多个合并冲突,请向下滚动到下一组冲突标记,然后重复步骤 4 和步骤 5 以解决合并冲突。

  6. 解决文件中的所有冲突后,单击 Mark as resolved(标记为已解决)

    单击“标记为已解决”按钮

  7. 如果您有多个冲突文件,请在“冲突文件”下的页面左侧选择您要编辑的下一个文件,并重复步骤 4 到 7,直到您解决所有拉取请求的合并冲突。

    适用时选择下一个冲突文件

  8. 解决所有合并冲突后,单击 Commit merge(提交合并)。 这会将整个基本分支合并到头部分支。

    Resolve merge conflicts button

  9. 如果出现提示,请审查您要提交的分支。 如果要提交到此分支,请单击 I understand, update BRANCH(我已了解,请更新 BRANCH)

    合并冲突确认窗口

  10. 要合并拉取请求,请单击 Merge pull request(合并拉取请求)。 有关其他拉取请求合并选项的更多信息,请参阅“合并拉取请求”。

延伸阅读

此文档对您有帮助吗?

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。