Fork仓库
Fork的应用场景
Fork可基于某个仓库镜像出一个一样的仓库,并能将镜像仓库中的修改请求合并回源仓库,当合并未发生时,镜像仓、源仓库的修改都不会对彼此产生影响
可见Fork特别适用于大型项目包含众多子项目时的开发场景,如下图所示,复杂的开发过程都只发生在镜像仓中,并不会影响到项目版本仓库(源仓库),只有确认完成的新特性才会请求合并回项目版本仓库。
所以可以认为Fork是一种团队协作模式。
Fork与导入外部仓库的区别
Fork与导入外部仓库的本质都是仓库的复制,其主要区别在于操作后源仓库与复制出仓库的联动关系不同,详细如下:
- Fork:
- Fork只应用于代码托管平台内的仓库间复制。
- Fork时,会基于源仓库的当前版本复制出一个一样的副本仓库,您在副本仓库的修改,可以申请合并(可以理解为一种跨仓库的分支合并)回源仓库,但副本仓库不能再获取源仓库的更新。
- 导入外部仓库:
- 导入外部仓库不仅可以将其它版本管理平台的仓库进行导入(主要针对基于Git、SVN存储的托管平台),也可以导入代码托管服务自己的仓库。
- 导入外部仓库时,也会基于源仓库的当前版本复制出一个一样的副本仓库,所不同的是,副本仓库不能向源仓库提交合并申请,但是副本仓库可以随时拉取源仓库的默认分支,以起到获取最新版本的作用。
如何Fork仓库
- 进入代码托管服务首页(注意切换到您对应的区域)。
- 单击“代码仓”列的“仓库名称”进入仓库。
- 单击右上角的“Fork”按钮,唤出“Fork代码仓库”窗口,选择项目、填写仓库名称。单击“确定”按钮,即可完成Fork操作。
