您只能在 GitHub 上解决由竞争行更改引起的合并冲突,例如当人们在 Git 存储库中不同分支上对同一文件的同一行进行不同的更改时。对于所有其他类型的合并冲突,您必须在命令行上本地解决冲突。有关更多信息,请参阅“使用命令行解决合并冲突”。
警告: 当您在 GitHub 上解决合并冲突时,您的拉取请求的整个 基础分支 将合并到 头部分支。请确保您确实要提交到此分支。如果头部分支是您的仓库的默认分支,您将可以选择创建一个新的分支作为拉取请求的头部分支。如果头部分支受保护,您将无法将您的冲突解决合并到其中,因此系统会提示您创建一个新的头部分支。有关更多信息,请参阅 "关于受保护的分支。"。
-
在您的仓库名称下,点击 拉取请求.
-
在“拉取请求”列表中,点击您要解决的合并冲突的拉取请求。
-
在您的拉取请求底部附近,点击解决冲突。
注意: 如果解决冲突按钮被禁用,则您的拉取请求的合并冲突过于复杂,无法在 GitHub 上解决。您必须使用其他 Git 客户端或使用命令行上的 Git 来解决合并冲突。有关更多信息,请参阅 "使用命令行解决合并冲突。"。
-
决定您是想保留仅您分支的更改,保留仅其他分支的更改,还是进行全新的更改,这可能会包含来自两个分支的更改。删除冲突标记
<<<<<<
、=======
、>>>>>>>
并进行您想要在最终合并中进行的更改。 -
如果您在文件中有多个合并冲突,请向下滚动到下一组冲突标记,并重复步骤四和五以解决您的合并冲突。
-
解决完文件中的所有冲突后,点击标记为已解决。
-
如果您有多个包含冲突的文件,请选择您要编辑的下一个文件,该文件位于页面左侧的“冲突文件”下,并重复步骤四到七,直到您解决完所有拉取请求的合并冲突。
-
解决完所有合并冲突后,点击提交合并。这会将整个基础分支合并到您的头部分支。
-
如果出现提示,请查看您要提交的分支。
如果 HEAD 分支是仓库的默认分支,您可以选择用您为解决冲突所做的更改来更新此分支,或者创建一个新分支并将其用作拉取请求的 HEAD 分支。
如果您选择创建新分支,请输入分支名称。
如果拉取请求的 HEAD 分支受保护,您必须创建一个新分支。您将无法选择更新受保护的分支。
点击 **创建分支并更新我的拉取请求** 或 **我理解,继续更新 BRANCH**。按钮文本对应于您正在执行的操作。
-
要合并您的拉取请求,请点击 **合并拉取请求**。有关其他拉取请求合并选项的更多信息,请参阅 "合并拉取请求"。
进一步阅读
- "关于拉取请求合并"