更新时间:2024-11-19 GMT+08:00

Fork仓库

Fork仓库的应用场景

Fork仓适用于大型项目、包含多个子项目时的开发场景。Fork基于某个仓库,可以镜像出一个相同的仓库,并能将镜像仓库中的修改请求合并回源仓库。在合并未发生时,镜像仓和源仓库的修改都不会对彼此产生影响。

如下图所示,复杂的开发过程都只发生在镜像仓中,并不会影响到项目版本仓库(源仓库),只有确认完成的新特性才会请求合并回项目版本仓库。因此,Fork是一种团队协作模式。

Fork仓库与导入外部仓库的区别

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

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

如何Fork仓库

  1. 进入代码托管服务仓库列表页。
  2. 单击目标仓库名称,进入目标仓库。
  3. 单击页面右上角的“Fork”按钮,弹出“Fork代码仓库”窗口,选择目标项目、填写仓库名称以及勾选是否“同步源仓库提交规则设置”

  4. 单击“确定”按钮,即可完成Fork仓库操作。

查看Fork仓库列表

  1. 进入代码托管服务仓库列表页。
  2. 单击源仓库名称,进入源仓库。
  3. 如下图所示,单击页面右上角“Fork”旁的按钮,可查看Fork仓库列表。

    单击Fork仓库的名称可进入该仓库。

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

  1. 进入代码托管服务仓库列表页。
  2. 单击Fork仓库名称,进入Fork仓库。
  3. 单击“新建合并请求”,切换到合并请求页签。
  4. 单击“新建”,弹出“新建合并请求”页面。

    “源分支”为本仓库作为请求合并的分支。

    “目标分支”为该仓库的源仓库被合入的分支。

  5. 单击“下一步”,进入到新建合并请求页面,其后面的操作流程与仓库内部的新建合并请求完全一致,请参考新建合并请求。

跨仓库的合并请求隶属于源仓库,只能在源仓库的“合并请求”页签中看到,在Fork仓库(请求发起方仓库)中看不到,因此选择的检视人、评审人、审核人及合并人均为源仓库的人员。