合并冲突解决

介绍了在GitLab 8.11中。

当合并请求有冲突时,GitLab可能会在GitLab UI中提供解决这些冲突的选项。(见可供解决的冲突有关何时可用的更多信息。)如果这是一个选项,您将看到解决这些冲突合并请求小部件中的链接:

合并请求小部件

点击此将显示冲突文件列表,并突出显示冲突部分:

冲突部分

一旦所有冲突都被标记为使用“我们的”或“他们的”,冲突就可以解决了。这将执行合并请求的目标分支到源分支的合并,使用所选选项解决冲突。如果源分支是功能目标分支是,这类似于表演Git签出功能;Git合并主机本地。

合并冲突编辑器

在GitLab 8.13中引入。

合并冲突解决编辑器允许更复杂的合并冲突,这需要用户手动修改文件以解决冲突,可以直接从GitLab界面中解决。使用编辑内联按钮,打开编辑器。确定更改后,点击解决冲突按钮。

合并冲突编辑器

可供解决的冲突

GitLab允许解决文件中的冲突,其中以下所有条件都为真:

  • 该文件是文本文件,不是二进制文件
  • 该文件采用UTF-8兼容编码
  • 该文件尚未包含冲突标记
  • 添加了冲突标记的文件大小不超过200 KB
  • 该文件存在于两个分支的相同路径下

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

此外,GitLab不会检测路径以外的重命名冲突。例如,这将不会创建冲突:在分支上一个,做Git mv file1 file2;在分支b,做Git mv file1 file3.相反,合并请求合并后,两个文件都将出现在分支中。

Baidu
map