Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Metz
帮助文档
提交
2639967c
帮助文档
项目概览
Metz
/
帮助文档
与 Fork 源项目一致
Fork自
GitCode / 帮助文档
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
帮助文档
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2639967c
编写于
9月 06, 2020
作者:
Lab机器人
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
resolve-conflicts
上级
a09be75a
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
16 addition
and
20 deletion
+16
-20
docs/img/conflict_section.png
docs/img/conflict_section.png
+0
-0
docs/img/merge_conflict_editor.png
docs/img/merge_conflict_editor.png
+0
-0
docs/img/merge_request_widget.png
docs/img/merge_request_widget.png
+0
-0
docs/user/project/merge-request/resolve-conflicts.md
docs/user/project/merge-request/resolve-conflicts.md
+16
-20
未找到文件。
docs/img/conflict_section.png
0 → 100644
浏览文件 @
2639967c
72.5 KB
docs/img/merge_conflict_editor.png
0 → 100644
浏览文件 @
2639967c
73.9 KB
docs/img/merge_request_widget.png
0 → 100644
浏览文件 @
2639967c
31.2 KB
docs/user/project/merge-request/resolve-conflicts.md
浏览文件 @
2639967c
# 解决合并冲突[](#
解决合并冲突
"Permalink")
# 解决合并冲突[](#
resolve-conflicts
"Permalink")
当
两个分支具有无法自动合并的不同更改时,将发生合并冲突.
当
合并请求中的两个分支具有无法自动合并的不同更改时,将导致合并冲突。
在大多数情况下,Git 能够自动合并分支之间的更改,但是在某些情况下,Git 需要您的帮助来手动解决冲突
. 通常,当人们更改同一文件的相同部分时,这是必需的.
在大多数情况下,Git 能够自动合并分支之间的更改,但是在某些情况下,Git 需要您的帮助来手动解决冲突
。通常,当人们更改了同一文件的相同部分时,这就需要手动来解决冲突了。
在解决所有冲突之前,
GitLab 将阻止合并请求. 冲突可以在本地解决,也可以在许多情况下在 GitLab 中解决(有关何时可用的信息,请参见可解决的
[
冲突
](
#conflicts-available-for-resolution
)
).
在解决所有冲突之前,
系统将阻止合并请求。冲突可以在本地解决,许多情况下在 CODEChina 网页上也可以解决(有关何时可用的信息,请参见可解决的
[
冲突
](
#conflicts-available-for-resolution
)
)。
[
![Merge request widget
](
img/c3174e54aed82ba15686b58fc97068f1
.png
)
](img/merge_request_widget.png)
[
![Merge request widget
](
/../../docs/img/merge_request_widget
.png
)
](img/merge_request_widget.png)
**注意:**
GitLab 通过在未自动合并到目标分支的源分支中创建合并提交来解决冲突. 这允许在合并更改之前对合并提交进行检查和测试,从而防止意外更改进入目标分支而无需检查或破坏构建.
**注意:**
CODEChina 通过在未自动合并到目标分支的源分支中创建合并提交来解决冲突,这样可以在合并更改之前在源分支对合并提交进行检查和测试,从而在更改进入目标分支前防止没有检查或破坏构建导致的意外。
## Resolve conflicts: interactive mode[](#resolve-conflicts-interactive-mode "Permalink")
在 GitLab 8.11 中
[
引入
](
https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5479
)
.
## 交互模式[](#resolve-conflicts-interactive-mode "Permalink")
单击此按钮将显示有冲突的文件列表,突出显示冲突部分:
[
![Conflict section
](
img/7a9e6a406ba2eb40638f2b43024b368b.png
)
](img/conflict_section.png)
一旦所有冲突都标记为使用"我们的"或"他们的",则可以解决冲突. 这将执行合并请求的目标分支到源分支的合并,使用选择的选项解决冲突. 如果源分支是
`feature`
,目标分支是
`master`
,则类似于执行
`git checkout feature; git merge master`
`git checkout feature; git merge master`
本地
`git checkout feature; git merge master`
.
[
![Conflict section
](
/../../docs/img/conflict_section.png
)
](img/conflict_section.png)
## Resolve conflicts: inline editor[](#resolve-conflicts-inline-editor "Permalink")
当所有冲突都标记为使用"我们的"或"他们的"时,则可以解决冲突。这将执行合并请求的目标分支到源分支的合并,并使用选择的选项解决冲突。如果源分支是
`feature`
,目标分支是
`master`
,则类似于执行
`git checkout feature; git merge master`
`git checkout feature; git merge master`
本地
`git checkout feature; git merge master`
。
[
Introduced
](
https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/6374
)
in GitLab 8.13.
## 内联编辑模式[](#resolve-conflicts-inline-editor "Permalink")
合并冲突
解决编辑器允许更复杂的合并冲突,需要用户手动修改文件以解决冲突,才能从 GitLab 界面中解决. 使用
**内联编辑**
按钮打开编辑器. 确定更改后,请单击"
**提交到源"分支**
按钮.
合并冲突
编辑模式可以让您在 CODEChina 界面中解决更复杂的合并冲突,比如需要用户手动修改文件才能解决的冲突。使用
**内联编辑**
按钮打开编辑器. 确定更改后,请单击
**提交到源分支**
按钮。
[
![Merge conflict editor
](
img/7a5996be0f8e75beb29e443470d79ee6
.png
)
](img/merge_conflict_editor.png)
[
![Merge conflict editor
](
/../../docs/img/merge_conflict_editor
.png
)
](img/merge_conflict_editor.png)
##
Conflicts available for resolution
[](#conflicts-available-for-resolution "Permalink")
##
可解决的冲突
[](#conflicts-available-for-resolution "Permalink")
GitLab
允许解决以下所有条件均成立的文件中的冲突:
CODEChina 界面只
允许解决以下所有条件均成立的文件中的冲突:
*
该文件是文本,不是二进制
*
该文件采用 UTF-8 兼容编码
...
...
@@ -38,6 +34,6 @@ GitLab 允许解决以下所有条件均成立的文件中的冲突:
*
添加了冲突标记的文件大小不超过 200 KB
*
该文件在两个分支中位于相同路径下
如果该合并请求中有冲突的任何文件均不满足所有这些条件,则无法在
UI 中解决该合并请求的冲突.
如果该合并请求中有冲突的任何文件均不满足所有这些条件,则无法在
界面中解决该合并请求的冲突。
此外,GitLab 不会在路径之外的重命名中检测到冲突. 例如,这不会造成冲突:在分支
`a`
执行
`git mv file1 file2`
; 在分支
`b`
,执行
`git mv file1 file3`
. 而是,合并请求合并后,两个文件都将出现在分支中.
\ No newline at end of file
此外,系统不会在路径之外的重命名中检测到冲突。例如,以下这些情况将不会造成冲突:在分支
`a`
执行
`git mv file1 file2`
; 在分支
`b`
,执行
`git mv file1 file3`
。相反的,合并后,两个文件都将出现在分支中。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录