fork仓库-九游平台
约束限制
在fork代码仓前,用户需要具备fork代码仓的权限,请提前参考配置代码仓库级的权限配置。
fork仓库的应用场景
fork仓适用于大型项目、包含多个子项目时的开发场景。fork基于某个仓库,可以镜像出一个相同的仓库,并能将镜像仓库中的修改请求合并回源仓库。在合并未发生时,镜像仓和源仓库的修改都不会对彼此产生影响。
如下图所示,复杂的开发过程都只发生在镜像仓中,并不会影响到项目版本仓库(源仓库),只有确认完成的新特性才会请求合并回项目版本仓库。因此,fork是一种团队协作模式。
fork仓库与导入外部仓库的区别
fork仓库与导入外部仓库都是在复制仓库,主要区别在于操作后源仓库与复制出仓库的联动关系不同,详细如下:
- fork仓库
- fork仅应用于代码托管平台内的仓库间复制。
- fork仓库时,会基于源仓库的当前版本复制出一个内容相同的副本仓库,用户在副本仓库的修改,可以申请合并(可以理解为一种跨仓库的分支合并)回源仓库,但副本仓库不能再获取源仓库的更新。
- 导入外部仓库
- 导入外部仓库不仅可以将其它版本管理平台的仓库进行导入(主要针对基于git、svn存储的托管平台),也可以导入代码托管服务自己的仓库。
- 导入外部仓库时,也会基于源仓库的当前版本复制出一个内容相同的副本仓库,所不同的是,副本仓库不能向源仓库提交合并申请,但是副本仓库可以随时拉取源仓库的默认分支,以起到获取最新版本的作用。
fork仓库的操作步骤
- 进入代码托管服务仓库列表页。
- 单击目标仓库名称,进入目标仓库。
- 单击页面右上角的“fork”按钮,弹出“fork代码仓库”窗口,参考下表填写参数。
表1 fork代码仓库参数填写 参数
说明
项目名
必填。该参数表示新仓库的目标归属项目,用户可以下拉框选择项目名称。
代码组路径
非必填。该参数表示新仓库的目标代码组路径,用户可以下拉框选择代码组路径。
仓库名
必填。该参数表示新仓库的名称,请以大小写字母、数字、下划线开头,可包含大小写字母、数字、中划线、下划线、英文句点,但不能以.git、.atom或.结尾。
可见范围
必填。该参数表示源仓库的可见范围,包括两个选项:
- 私有(仓库仅对仓库成员可见,仓库成员可访问仓库或者提交代码)。
- 公开。包含三个选项:“项目内成员只读”、“租户内成员只读”和“所有访客只读”。
同步源仓库提交规则设置
非必填。该参数表示是否要同步源仓库提交规则设置。勾选表示同步源仓库提交规则设置,不勾选则表示不会同步源仓库提交规则设置,默认勾选。用户可进入“设置 > 策略设置 > 提交规则”查看源仓库的规则设置,再确定是否需要勾选此参数。
- 填写完此参数表格后,单击“确定”按钮,即可完成fork仓库操作。
查看当前仓库的fork情况
- 进入代码托管服务仓库列表页。
- 单击源仓库名称,进入源仓库。
- 如下图所示,单击页面右上角“fork”旁的次数按钮,可查看fork仓库列表。如下图所示,当前源仓库仅一次被fork记录,单击“fork仓库名称”列的名称可进入fork仓库的“代码”页。
如何将fork仓库中的修改合入源仓库
- 进入代码托管服务仓库列表页。
- 单击fork仓库名称,进入fork仓库。
- 单击“合并请求”,切换到合并请求页签。
- 单击“新建合并请求”,弹出“新建合并请求”页面,选择要合并的“源分支”和“目标分支”。
- 单击“下一步”,进入到新建合并请求页面,填写“标题”和“描述”,单击“新建合并请求”,完成合并请求的创建。

跨仓库的合并请求隶属于源仓库,只能在源仓库的“合并请求”页签中看到,在fork仓库(请求发起方仓库)中看不到,因此选择的检视人、评审人、审核人及合并人均为源仓库的人员。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨