Merge request conflict resolution

Merge request conflict resolution

当两个分支具有无法自动合并的不同更改时,将发生合并冲突.

在大多数情况下,Git 能够自动合并分支之间的更改,但是在某些情况下,Git 需要您的帮助来手动解决冲突. 通常,当人们更改同一文件的相同部分时,这是必需的.

在解决所有冲突之前,GitLab 将阻止合并请求. 冲突可以在本地解决,也可以在许多情况下在 GitLab 中解决(有关何时可用的信息,请参见可解决的冲突 ).

在 GitLab 8.11 中引入 .

单击此按钮将显示有冲突的文件列表,突出显示冲突部分:

一旦所有冲突都标记为使用”我们的”或”他们的”,则可以解决冲突. 这将执行合并请求的目标分支到源分支的合并,使用选择的选项解决冲突. 如果源分支是 ,目标分支是master ,则类似于执行git checkout feature; git merge master 本地git checkout feature; git merge master .

合并冲突解决编辑器允许更复杂的合并冲突,需要用户手动修改文件以解决冲突,才能从 GitLab 界面中解决. 使用内联编辑按钮打开编辑器. 确定更改后,请单击” 提交到源”分支按钮.

GitLab 允许解决以下所有条件均成立的文件中的冲突:

  • 该文件采用 UTF-8 兼容编码
  • 该文件尚未包含冲突标记
  • 添加了冲突标记的文件大小不超过 200 KB

如果该合并请求中有冲突的任何文件均不满足所有这些条件,则无法在 UI 中解决该合并请求的冲突.