Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
GitCode
帮助文档
提交
2639967c
帮助文档
项目概览
GitCode
/
帮助文档
通知
1778
Star
578
Fork
457
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
44
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
89
Wiki
分析
仓库
DevOps
代码片段
项目成员
Pages
帮助文档
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
44
Issue
44
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
89
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录