文档首页 > > 用户指南> 创建云端仓库> 复刻(Fork)仓库

复刻(Fork)仓库

分享
更新时间:2020/10/19 GMT+08:00

Fork的应用场景

Fork可基于某个仓库镜像出一个一样的仓库,并能将镜像仓库中的修改请求合并回源仓库,当合并未发生时,镜像仓、源仓库的修改都不会对彼此产生影响

可见Fork特别适用于大型项目包含众多子项目时的开发场景,如下图所示,复杂的开发过程都只发生在镜像仓中,并不会影响到项目版本仓库(源仓库),只有确认完成的新特性才会请求合并回项目版本仓库。

所以可以认为Fork是一种团队协作模式。

fork与导入外部仓库的区别

fork与导入外部仓库的本质都是仓库的复制,其主要区别在于操作后源仓库与复制出仓库的联动关系不同,详细如下:

  • fork:
    • fork只应用于代码托管平台内的仓库间复制。
    • fork时,会基于源仓库的当前版本复制出一个一样的副本仓库,您在副本仓库的修改,可以申请合并(可以理解为一种跨仓库的分支合并)回源仓库,但副本仓库不能再获取源仓库的更新。
  • 导入外部仓库:
    • 导入外部仓库不仅可以将其它版本管理平台的仓库进行导入(主要针对基于Git、SVN存储的托管平台),也可以导入代码托管服务自己的仓库。
    • 导入外部仓库时,也会基于源仓库的当前版本复制出一个一样的副本仓库,所不同的是,副本仓库不能向源仓库提交合并申请,但是副本仓库可以随时拉取源仓库的默认分支,以起到获取最新版本的作用。

如何fork仓库

  1. 进入代码托管服务首页(注意切换到您对应的区域)。
  2. 找到源仓库,单击,选择“fork代码仓库”,弹出“fork代码仓库”窗口。
  3. “fork代码仓库”窗口中选择要将副本仓库放在哪个项目下,并填写fork出的仓库的名称和备注等。(仓库名称不能修改,请慎重填写)

    如果勾选了“允许项目内开发人员访问仓库”,则会将项目的项目经理、开发人员加入到仓库,分别作为对应的仓库管理员、仓库普通成员。

  4. 单击“确定”按钮,即可完成fork仓库操作,会跳转回仓库列表页面。

如何将fork仓库中的修改合入回源仓库

  1. 进入代码托管服务首页(注意切换到您对应的区域)。
  2. 进入副本仓库。
  3. 切换到“合并请求”页签。
  4. 单击“新建合并请求”按钮,弹出“新建合并请求”页面。
  5. “从”字后面固定是本仓库,可选择分支作为要请求合并的分支。

    “到”字后面注意要选择为该仓库的源仓库,并选择要合入到的分支。

  6. 单击“下一步”按钮,进入到新建合并请求页面,其后面的操作流程与仓库内部的分支合并评审完全一致。

跨仓库的合并请求隶属于源仓库,只能在源仓库的“合并请求”页签中看到,在副本仓库(请求发起方仓库)中看不到,因此选择的合入人和评审人需要是源仓库的人员。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问