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

此版本的 GitHub Enterprise 已停止服务 2021-03-02. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

在 GitHub 上解决合并冲突

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

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

如果站点管理员对仓库之间的拉取请求禁用合并冲突编辑器,则无法在 GitHub Enterprise Server 上使用冲突编辑器,并且必须在命令行上解决合并冲突。 例如,如果禁用合并冲突编辑器,则无法在复刻和上游仓库之间的拉取请求中使用它。

警告:在 GitHub Enterprise Server 上解决合并冲突时,拉取请求的整个基本分支都会合并到头部分支中,即使头部分支是仓库的默认分支或受保护分支。 确保您确实想要提交到此分支。

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

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

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

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

    解决合并冲突按钮

    提示:如果停用 Resolve conflicts(解决冲突)按钮,则拉取请求的合并冲突过于复杂而无法在 GitHub Enterprise Server 上解决,或站点管理员已禁用仓库之间拉取请求的冲突编辑器。 必须使用备用 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(合并拉取请求)。 有关其他拉取请求合并选项的更多信息,请参阅“合并拉取请求”。

延伸阅读