Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • GitCode
  • 帮助文档帮助文档
  • Wiki
    • Docs
    • User
    • Project
    • Merge request
  • resolve conflicts

帮助文档
帮助文档
  • 项目概览

GitCode / 帮助文档

通知 1799
Star 580
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看板

resolve conflicts · 变更

页面历史
resolve-conflicts 编写于 9月 06, 2020 作者: Lab机器人's avatar Lab机器人
显示空白变更内容
内联 并排
Showing with 16 addition and 20 deletion
+16 -20
  • docs/user/project/merge-request/resolve-conflicts.md docs/user/project/merge-request/resolve-conflicts.md +16 -20
  • 未找到文件。
docs/user/project/merge-request/resolve-conflicts.md
View page @ 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
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7