合并请求

功能介绍

在在研发管理流程中,为了方便项目组不同开发者可以同时进行开发工作,并保证代码质量。管理者将 master 分支设置为保护分支,开发者均基于 master 分支进行开发。开发完毕后,开发者向 master 分支提交合并请求,通过代码评审和得到允许合并权限后,开发者将开发分支合并至 master 分支。

查看分支间差异

进入项目后,点击 代码仓库—>代码对比,进入代码对比页面。代码对比可对代码进行审查,系统会检测比较版本能否自动合并。具体功能演示可以参考查看提交详情

可选择不同的分支、标签进行对比,点击文件改动 TAB,即可查看所有代码行级改动。

新建合并请求

创建合并请求,只支持分支与分支之间创建,请在左边填写目标分支,右边填写源分支。合并请求的目标分支默认为默认分支;当目标分支或源分支选择了 tag 或 sha1 时,或者源分支的提交不领先于目标分支时,不可创建合并请求。当系统显示为可合并时,才能创建合并请求。

开发者填写完合并请求的标题、描述(支持 Markdown 语法),添加该合并请求新增功能或 BUG 修复对应的任务或者相关的文件、合并请求、Wiki 等项目内资源,并选择分支管理员或任务相关的项目成员作为评审者,完成后即可创建合并请求。

代码评审者将会收到该合并请求创建的通知后,进行代码评审,评审通过后点击允许合并。当合并请求发起者收到分支管理员的合并允许通知后,即可合并该合并请求。

合并状态提示

可自动合并

当源分支与目标分支对比后没有发现冲突,代码对比将展示它们之间的差异,并提示该分支可自动合并,可以创建合并请求并在线合并分支。

不可自动合并

当源分支与目标分支对比后发现存在冲突,代码对比将展示它们之间的差异,并提示该分支不可自动合并,可以创建合并请求,但需解决冲突后才能继续合并分支。

不可合并

当目标分支或源分支选择了 tag 或 sha1 时,代码对比将展示它们之间的差异,并提示该分支不可合并,不可创建合并请求。

无法进行对比

当源分支的提交不领先于目标分支时,代码对比不会展示它们之间的差异,也不可创建合并请求。

代码评审

详情见代码评审

允许合并 / 取消允许合并

当前合并请求通过评审后,评审者点击允许合并按钮,表明对发起者的代码质量认可。在合并请求合并前,评审者还可以取消某合并请求的允许合并操作。创建合并请求后可以在页面按照不同的条件进行过滤,并且还能够查看所有的请求与对应的评审进度。

合并权限控制

当目标分支是保护分支时,合并请求发起者是保护分支管理员,他可以在无评审者允许的情况下自行合并合并请求。当合并请求发起者不是目标分支管理员时,他需要邀请分支管理员为评审者,并得到管理员允许合并后,才可合并合并请求。保护分支管理员可以合并当前该分支的所有合并请求。

当目标分支不是保护分支时,发起者不需得到任何项目成员的允许合并即可合并该合并请求。

分支权限控制详情见分支设置

删除源分支

合并分支时,勾选删除源分支,可在合并分支时删除源分支。

Fast-Forward 模式合并

MR 和 PR 在合并的时候默认会产生一个合并提交,但是如果在合并的时候勾选了【 Fast-Forward 模式合并】,服务器会在合并的时候判断该 MR 或者 PR 是否符合【快进模式】合并,如果符合则会按照【快进模式】合并,不产生合并提交,如果是不符合【快进模式】合并的情况,则忽略该选项,依然以产生合并提交的方式合并。这个选项相当于 git merge 的 –ff 参数。

取消合并请求

合并请求发起者和保护分支管理员,点击合并请求详情页的取消按钮,即可取消合并请求。取消合并请求对源分支和目标分支无任何影响。

上一篇分支管理
文档是否对您有用?
感谢反馈有用
感谢反馈没用