合并冲突解决
介绍了在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
.相反,合并请求合并后,两个文件都将出现在分支中。