- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 快速入门
- 用户指南
- 最佳实践
-
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
- 应用示例
- 附录
-
常见问题
- 认证鉴权问题
- 成员权限问题
-
代码上传下载问题
- 从本地推送代码仓到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"
- fatal: refusing to merge unrelated histories
- 如何阻止涉密文件被推送到CodeArts Repo代码仓库
- 仓库迁移问题
- 合并请求问题
- Fork同步问题
- 仓库容量问题
- 常见问题汇总
- 视频帮助
- 通用参考
链接复制成功!
配置Repo代码仓库设置
配置代码仓库级的仓库设置
如果在项目级“仓库设置”勾选了“开启强制继承”,代码仓库下不支持“仓库设置”。
如果不继承项目级配置,可参考下表设置参数。
参数 |
说明 |
---|---|
默认分支管理 |
此参数非必填。默认将“master”分支设置为默认分支,即创建代码仓库时的主分支。 |
开启开发人员创建分支权限白名单 |
此参数非必填。默认不勾选,勾选后,开启开发人员创建分支权限白名单,只有开发人员角色的仓库成员才能进入此白名单。非开发人员将不会被显示,并且即使配置后也不会生效。 |
禁止Fork仓 |
非必填参数。勾选此选项,表示任何人不可以Fork该项目下的代码仓库。 |
MR预合并 |
非必填参数。勾选此选项,表示启用MR预合,服务端会自动生成MR预合并的代码,相比客户端使用命令做预合并操作更高效简洁、构建结果更准确,适用于对构建实时性要求严格的场景。 |
分支名规则 |
非必填参数。所有分支名都必须匹配正则表达式,分支名规则不能超过500个字符。如果此字段不填写,则允许任何分支名。规则需要满足基本的Tag命名规则:
|
Tag名规则 |
非必填参数。所有Tag名都必须匹配正则表达式。如果此字段不填写,则允许任何Tag名。 需满足基本的Tag命名规则:
|
配置代码仓库的子模块设置
子模块(submodule)是Git为管理仓库共用而衍生出的一个工具,通过子模块您可以将公共仓库作为子目录包含到您的仓库中,并能够双向同步该公共仓库的代码,借助子模块您能将公共仓库隔离、复用,能随时拉取最新代码以及对它提交修复,能大大提高您的团队效率。
有种情况经常会遇到:某个工作中的项目A需要包含并使用项目B(第三方库,或者您独立开发的,用于多个父项目的库),如果想要把它们当做两个独立的项目,同时又想在项目A中使用项目B,可以使用Git的子模块功能。 子模块允许您将一个Git仓库作为另一个Git仓库的子目录。 它能让您将另一个仓库克隆到自己的项目中,同时还保持提交的独立。
子模块将被记录在一个名叫“.gitmodules”的文件中,其中会记录子模块的信息:
[submodule "module_name"] #子模块名称 path = file_path #子模块在本仓库(父仓)中文件的存储路径。 url = repo_url #子模块(子仓库)的远程仓地址
这时,位于“file_path”目录下的源代码,将会来自“repo_url”。
控制台操作
- 控制台添加子模块
- 入口一:
可以在仓库文件列表中的某个文件夹下添加子模块。
单击扩展按钮
,选择“新建子模块”,如下图所示。
- 入口二:
可以在仓库的“代码”页签中,添加子模块。
单击扩展按钮
,选择“新建子模块”,如下图所示。
- 入口三:
可以在仓库设置中,为仓库创建子模块。
其操作路径为“设置 > 仓库管理 > 子模块设置 > 新建子模块”。
- 填写说明:
使用以上三种方法均可进入“新建子模块”页面。
请参考下表填写,完成后单击“确定”按钮,即可完成新建子仓库操作。
表2 新建子模块—字段说明 字段
填写说明
子模块仓库路径
选择一个仓库作为子仓库。
子模块仓库分支
选择同步子仓库的目标分支到父仓库。
子模块文件路径
配置子模块文件在本仓库下的路径,注意用“/”分割层级。
提交信息
作为您新建子仓库的备注信息,可以在文件历史中查找到本次操作,限制2000个字符。
说明:
子模块新建完成后,可以在仓库文件列表的对应目录内找到子模块(子仓库)内容,其对应的文件左侧图标为
。
- 入口一:
- 控制台查询子模块状态、同步、删除子模块
管理员可以通过查看“设置”页面下的“子模块设置”页面,查看子模块状态,同步子模块,删除子模块。
- 控制台同步部署密钥
对于客户端提交的子模块,需要仓库管理员在“设置”页面下的“子模块设置”页面,将父仓库的部署密钥同步到子仓库中,从而保证在构建父仓库时,可以将对应提交的子仓库一同拉取下来。
Git客户端操作
- 添加Submodule。
git submodule add <repo> [<dir>] [-b <branch>] [<path>]
示例:
git submodule add git@***.***.com:****/WEB-INF.git
- 拉取包含submodule的仓库。
git clone <repo> [<dir>] --recursive
示例:
git clone git@***.***.com:****/WEB-INF.git --recursive
- 获取远端Submodule更新。
git submodule update --remote
- 推送更新到子库。
git push --recurse-submodules=check
- 删除Submodule。
- 删除“.gitsubmodule”中对应submodule的条目。
- 删除“.git/config”中对应submodule的条目。
- 执行命令,删除子模块对应的文件夹。
git rm --cached {submodule_path} #注意更换为您的子模块路径
说明:
注意:路径不要加后面的“/”。
示例:您的submodule保存在“src/main/webapp/WEB-INF/”目录,则执行命令为:
git rm --cached src/main/webapp/WEB-INF