- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 代码托管(CodeArts Repo)使用流程
- 购买并授权使用Repo
- 环境和个人配置
- 访问CodeArts Repo首页
- 新建并配置CodeArts项目
- 配置Repo项目级设置
- 管理Repo成员权限
- 新建Repo代码仓库
- 迁移代码与同步仓库
- 配置Repo代码仓库设置
- 分层管理代码仓
- 设置仓库
- 克隆/下载代码仓库到本地
- 上传代码文件到Repo
- 开发协作工作流
- 提交代码到Repo并管理合并请求
- 管理代码文件
- Repo代码仓的安全管理
- 最佳实践
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API
- SSH Key
-
Repository
- 获取分支目录下的文件
- 获取仓库统计数据
- 获取一个仓库下特定分支的图片文件
- 修改被流水线引用的仓库状态
- 判断用户是否有仓库的管理员权限
- 设置仓库是公开状态还是私有状态
- 获取一个仓库下特定分支指定文件内容
- 获取公开示例模板列表
- 创建仓库
- 根据仓库名组名获取仓库短id,用以拼接与commitid对应提交详情页面url
- 根据组名和仓库名查询某仓库某分支对应的提交
- 查询某仓库对应的分支
- 根据仓库id查询仓库某分支对应的提交,提供更多可选参数
- 添加部署密钥
- 删除仓库部署密钥
- 获取仓库上一次的提交统计信息
- 仓库统计
- 删除仓库
- 查看仓库的创建状态
- 查询某仓库的标签列表
- 新建标签
- 查询某个仓库的详细信息
- 获取代码提交行数
- 下载仓库
- 新建保护分支
- 删除保护分支
- 批量删除保护分支
- 新建保护tag
- 删除保护tag
- 获取仓库分支列表
- 获取仓库合并请求列表
- 获取仓库合并请求详情
- 获取仓库ip白名单
- 添加仓库ip白名单
- 修改仓库ip白名单
- 删除仓库ip白名单
- 获取合并请求的变化
- 关联仓库与成员组
- 根据仓库短ID锁定仓库
- 根据仓库短ID解锁仓库
- 审核合并请求
- 获取关联工作项信息
- 根据仓库短ID和合并请求短ID获取检视人信息
- 获取变更文件列表
- Tenant
- Group
- V2Project
- RepoMember
- Commit
- File
- User
- Webhook
- Project
- v2仓库管理
- Discussion
- 应用示例
- 附录
- 历史API
-
常见问题
- 认证鉴权问题
- 成员权限问题
-
代码上传下载问题
- 从本地推送代码仓到CodeArts Repo时,报错"Error: Deny by project hooks setting 'default': message of commit"
- 用户推送二进制文件到CodeArts Repo失败
- 执行git push 命令时,报错'origin' does not appear to be a git repository...
- 在CentOS系统下使用HTTPS协议克隆代码时,报错"The requested URL returned error: 401"
- 使用git pull拉取CodeArts Repo的代码失败,报错"Merge branch 'master' of https://test.com Please Enter a commit"
- push文件时客户端提示连接断开
- fatal: refusing to merge unrelated histories
- 如何阻止涉密文件被推送到CodeArts Repo代码仓库
- 仓库迁移问题
- 合并请求问题
- Fork同步问题
- 仓库容量问题
- 常见问题汇总
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
设置项目级合并请求规则
配置合并请求规则
用户可以勾选“开启继承项目设置”,自动继承并使用项目下设置且不支持更改。
用户也可以进入要配置的项目首页,选择“设置” > “策略设置” > “合并请求”。请按照下列步骤新建合并请求规则:
- 选择“合入机制”。合并请求有两种机制,打分机制和审核机制,两种模式区别如下:
- 选择合入机制后,参考下表填写其余参数,且该配置对整个代码仓库生效。
表2 设置合入条件、MR设置、合并模式的参数表
参数名称
说明
取值样例
合入条件
此参数非必填,共2个选项:
- 评审问题全部解决才能合入。勾选后,如果评审意见被勾选为“这是一个需要被解决的问题”,则合入条件会提示“存在未解决的评审意见”且“合入”按钮置灰;如果只是一个普通的评审意见,则不存在“已解决”开关,也不会被合入条件拦截。
- 必须与CodeArts Req关联。包含如下3个子选项:
- 只能关联一个单号。勾选后,一个MR只能关联一个单号。
- 所有E2E单号校验必须通过。勾选后,被关联的所有E2E单号校验必须通过。
- 选择分支配置合并请求策略。可添加多个分支配置合并请求策略,支持手动输入通配符匹配,按回车确认,如:*-stable或production/*。
注意:当用户购买套餐为“专业版”套餐,才会有“是否将星级评价作为合入门禁”选项。
- 是否将星级评价作为合入门禁。
默认项目经理、仓库所有者和项目管理员可以评价,也可另外配置其他角色进行星级评价,权限配置请参考配置项目级的Repo权限。如果勾选星级评价作为合入门禁,至少需要一个Committer、项目经理、仓库所有者或项目管理员评价。
“*-stable”表示匹配以“-stable”结尾的E2E单号。
MR设置
该参数非必填。包含如下选项:
- 禁止合入自己创建的合并请求。勾选后,用户在查看自己创建的MR时,“合入”按钮置灰,自己无法合入,需要找其他有合入权限的人合入。
- 禁止审核自己创建的合并请求。
- 禁止检视自己创建的合并请求。
- 允许仓库管理员及项目经理强制合入。
- 允许合并请求合并或关闭后继续做代码检视和评论。
- 是否将自动合并的MR状态标记为关闭状态。如果A MR中的包含在A MR中所有Commits,那么当A合并后,则B MR会自动合并。默认B MR会标记为合并状态,可以通过该选项控制将B MR标记为关闭状态。
- 不能重新打开一个已经关闭的合并请求。默认打开,用户可以根据自己的需要打开或关闭。
- 新建合并请求,默认开启合并后删除源分支。
- 禁止Squash合并(合入MR时禁止Squash合并)。
- 新建合并请求,默认开启Squash合并。
合并模式
此参数必填,共3个选项:
- 通过Merge Commit合并。勾选后,每次合并操作都会产生一个merge commit点,只要没有检测到冲突就能够执行合并操作。即不管基线点是不是最新的点,无冲突就可以合并。
- 通过Merge commit 合并(记录半线性历史)。勾选后,每次合并操作会记录一个merge commit提交,但是与“通过Merge commit合并”不同,必须基于目标分支最新的commit提交点进行提交,否则会提示开发者进行rebase操作。这种合并模式下可以非常确定一点,如果merge request能够正确构建,合并完成后目标分支也能够正确构建。
- Fast-forward 合并。勾选后,每次合并操作不会记录一个merge commit提交,且必须基于目标分支最新的commit提交点进行提交,否则会提示开发者进行rebase操作。
- 参数填写完成后,单击“提交”,完成合并请求规则的配置。
如果用户的“合入机制”选择为“审核机制”,并且想为指定分支或该仓库下的全部分支设置合入策略,用户可以参考章节进行配置。
设置分支策略
进入要配置的代码仓库首页,选择“设置” > “策略设置” > “合并请求”,单击“新建分支策略”,参考下表填写参数。
参数 |
说明 |
---|---|
分支 |
该参数必填。下拉框选择用户想要设置的分支,支持选择全部分支。 |
最小检视人数 |
该参数必填。默认为0,表示无需检视人检视通过,也可通过检视门禁。 |
最小审核人数 |
该参数必填。默认为0,表示无需审核人审核通过,也可通过审核门禁。 |
重置审核门禁 |
该参数非必填。默认勾选,表示当重新推送代码到MR的源分支时,将MR审核门禁重置。 |
重置检视门禁 |
该参数非必填。默认勾选,表示当重新推送代码到MR的源分支时,将MR检视门禁重置。 |
仅能从以下审核人/检视人中追加审核人/检视人 |
该参数非必填。勾选后,可配置“追加审核人”名单与“追加检视人”名单,当用户想在“审核人”与“检视人”的必选名单外追加成员时,只允许从“追加审核人”名单与“追加检视人”名单中追加成员。 |
开启流水线门禁 |
该参数非必填。勾选后,合并前需要满足流水线门禁都通过的条件,将CI融入代码开发流程。 |
合并人 |
该参数非必填。可配置必选合并人名单,在新建合并请求时,该名单将自动同步至合并请求中。 |
审核人 |
该参数非必填。可配置必选审核人名单,在新建合并请求时,该名单将自动同步至合并请求中。 |
检视人 |
该参数非必填。可配置必选检视人名单,在新建合并请求时,该名单将自动同步至合并请求中。 |
设置分支策略的相关文档
- 分支策略优先级示例如下:
- 仓库下的同一分支有A策略与B策略,系统默认使用最新创建的分支策略。
- 在仓库下有A策略与B策略,A策略配置的分支为a分支与b分支,B策略配置的分支为a分支,在发起目标分支为a分支的合并请求时,系统默认使用B策略。
- 首次配置分支合并人、审核人、检视人后,后续新建合并请求会自动从浏览器缓存中加载该数据,如果合并人、审核人、检视人用户名称被修改且仓库权限被移除,“新建合并请求”页面会弹出被修改后的用户权限缺失提示与合并人、审核人、检视人列表中的用户名称不一致的现象,此时只需按照提示移除该用户即可,更新缓存数据且后续新建合并请求不会出现该用户。