Skip to content

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

帮
帮助文档
  • 项目概览

GitCode / 帮助文档

通知 1562
Star 123
Fork 139
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 163
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 23
  • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • Wiki 89
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
帮
帮助文档
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 163
    • Issue 163
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 23
    • 合并请求 23
  • Pages
  • DevOps
    • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 89
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 流水线任务
  • 提交
  • Issue看板
You need to sign in or sign up before continuing.

reviewing

最后修改来自于BaiXuePrincess 11月 19, 2021
页面历史

评审及管理合并请求

合并请求是在项目中更改文件的主要方法,通过创建并提交合并请求来提出更改,然后将其审核并接受(或拒绝)。

评审合并请求

打开 项目>合并请求列表,可以查看项目中的所有合并请求,并且您可以快速按打开和关闭可用的选项卡来进行过滤,您还可以搜索和过滤结果。

Project merge requests list view

半线性历史合并请求

每个合并创建一个合并提交,但是只有在可能进行快速合并的情况下才合并分支。这样可以确保如果合并请求构建成功,则合并后目标分支构建也将成功。

进入到项目设置页,在 合并请求:合并方法下选择 使用半线性历史 合并合并选项,然后保存更改。

查看不同版本文件变更

更改选项卡位于主要合并请求详细信息下方,并且在讨论选项卡旁边,显示了分支或提交之间文件的更改。这种对文件更改的视图也称为diff ,默认情况下,差异视图将合并请求分支中的文件与目标分支中的文件进行比较。

Diff 视图包含以下内容:

  • 文件的名称和路径
  • 添加和删​​除的行数
  • 用于以下选项的按钮:
    • 文件讨论显示/隐藏开关,在查看用于内联评论时非常有用
    • 在合并请求的分支中编辑文件
    • 显示完整文件,方便您要查看上下文中文件其余部分的更改
    • 查看当前提交时的文件
  • 对于有更改的行,将突出显示详细的更改内容

Example screenshot of a source code diff

合并请求 diff 导航

在 更改选项卡中查看更改时,可以使用文件树或文件列表来浏览差异。 在具有许多更改的大型差异中滚动时,可以使用文件树或文件列表快速跳转到任何更改的文件。

Merge request diff file navigation

逐个文件查看 diff

对于较大的合并请求,有时一次查看单个文件可能会很有用。要启用单个文件 diff 导航时,请从右上角导航栏上的头像,单击 设置 ,然后转到左侧边栏上的偏好设置 , 向下滚动到个性化部分,然后在合并请求的"更改"标签上选择 "一次显示一个文件" . 点击保存更改以应用.

从那里,在查看合并请求的更改选项卡时,一次只能看到一个文件. 然后,您可以单击按钮上一个和下一个以查看其他已更改的文件.

File-by-file diff navigation

合并请求提交导航

要在合并请求中的提交之间无缝导航,请从 提交选项卡中,单击其中一个提交以打开单提交视图,之后您可以通过单击页面右上角的Prev和Next按钮或使用X和C键盘快捷键在提交之间进行切换。

合并请求 diff 时展开

默认情况下,差异仅显示文件中已更改的部分。要查看更改上方或下方的更多未更改行,请单击向上 扩展或向下扩展图标,您也可以单击显示未更改的行以展开整个文件。

当查看合并请求的更改选项卡时,如果仅重命名了某个文件,则可以通过单击显示文件内容展开它以查看全部内容 。

隐藏空白更改

如果单击隐藏空白更改按钮,则可以看到没有空白更改的差异(如果有的话),在查看某个提交的页面上也支持这个功能。

**提示:**您可以在合并请求的差异页面上附加?w=1 ,以忽略任何空格更改。

行内代码评审

我们提供了一种在合并请求中更改文件的任何部分中进行注释讨论的方法,可以在"合并请求"差异页面左侧单击评论按钮以展开差异行并留下评论,就像更改行一样。

Comment on any diff file line

关联功能

还有大量与合并请求关联的功能:

功能 描述
批量编辑合并请求 同时更新多个合并请求的属性
Cherry-pick 变更 只需在合并的合并请求或提交中单击Cherry-pick按钮,即可在页面中 Cherry-pick 任何选择
快进合并 有关线性 Git 历史记录以及接受合并请求而不创建合并提交的方法
合并请求版本 选择并比较合并请求差异的不同版本
解决冲突 可以在界面中来解决某些合并请求冲突
Revert 更改 从合并请求中的任何提交还原更改

Tips

以下是一些可帮助您在命令行中更有效地处理合并请求的 Tips:

本地合并合并请求

合并请求包含来自代码仓库的所有历史记录,以及添加到与合并请求关联的分支的其他提交。以下是一些在本地检出合并请求的技巧。

请注意,即使源项目是目标项目的分支(甚至是私有分支),也可以在本地签出合并请求。

通过别名设置签出合并请求

将以下别名添加到~/.gitconfig :

[alias]
    mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' - 

现在,您可以从任何代码仓库和任何远程签出特定的合并请求,例如,执行以下操作可以从origin远程服务器签出 ID 为 5 的合并请求请:

git mr origin 5 

这会将合并请求提取到本地mr-origin-5分支中,并检出它。

通过在 config 文件中添加代码仓库签出

在.git/config文件中找到适用于 remote 的部分,找到类似下面的这段配置:

[remote "origin"]
  url = https://gitcode.net/gitcode/awsome-project.git
  fetch = +refs/heads/*:refs/remotes/origin/* 

您可以使用以下方式打开文件:

git config -e 

现在,将以下行添加到上面的部分:

fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/* 

最后,它应如下所示:

[remote "origin"]
  url = https://gitcode.net/gitcode/awsome-project.git
  fetch = +refs/heads/*:refs/remotes/origin/*
  fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/* 

现在,您可以获取所有合并请求:

git fetch origin

...
From https://gitcode.net/gitcode/awsome-project.git
 * [new ref]         refs/merge-requests/1/head -> origin/merge-requests/1
 * [new ref]         refs/merge-requests/2/head -> origin/merge-requests/2
... 

并检查特定的合并请求:

git checkout origin/merge-requests/1 

以上所有操作均可通过git-mr脚本完成。

克隆仓库

快速访问

  • 首页
  • 组织
    • 子组织
    • 申请入驻
  • 项目
    • 徽章
    • 批量编辑
    • 新建项目
    • 描述模板
    • 文件查找
    • 合并请求
      • 允许协作
      • 创建合并请求
      • Cherry-pick
      • 快进合并
      • 解决冲突
      • 还原
      • 评审及管理
      • Squash合并
      • 合并请求版本
      • 草稿
    • 项目成员
    • 导入
      • Github
      • URL
    • Releases
    • 代码仓库
      • 分支
      • Git属性
      • Blame
      • 文件历史记录
      • 仓库镜像
      • 保护分支
      • 保护Tag
      • Git LFS
      • 减少仓库大小
      • GPG签名提交
      • 文件编辑
      • WebIDE
    • 项目设置
    • 与群组共享项目
    • wiki
    • 代码片
    • Pages
      • Hugo
      • Mdbook
      • html
  • Issues
    • 机密Issue
    • 关联Issue
    • 截止日期
    • 看板
    • 操作Issue
    • 标签
    • 管理Issue
    • 里程碑
    • Issue排序
  • API
    • Runners Api
  • CI / CD
    • Pipelines
      • 流水线计划
      • 设置
    • 变量
    • Runners
    • .codechina-ci.yml
      • .codechina-ci.yml 参考
      • 语法验证
  • 用户
    • 举报用户
    • 用户账号
      • 登录日志
      • 用户权限
      • 个人访问令牌
      • 个人偏好
    • Notebook
    • 探讨
    • SSH密钥
    • 快捷键
    • Markdown
    • 电子邮件通知
    • 快速操作
      • 自动填充
    • 预留命名空间
    • 搜索
    • 时间跟踪
    • 待办事项
渝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