更新时间:2023-03-14 GMT+08:00
Forking工作流
Forking工作流区别于前三种工作流的最大特点是每个开发人员都有一个从公共仓库fork出来的属于自己的公共仓。Forking工作流适合外包、众包以及众创和开源场景。接包方的开发人员从项目公共仓fork自己的公共仓库进行操作,并不需要被项目公共仓直接授权,Forking工作流如下图所示。
工作方式
- 将“项目公共仓”fork出一个“个人公共仓”。
- 将“个人公共仓”clone到“本地仓库”。
- 操作“本地仓库”,修改完成后提交到“个人公共仓”。
- 为“个人公共仓”提交一个pull request给项目维护者,申请代码合入“项目公共仓”。
- 项目维护者在本地review、验证本地提交,审核通过后push进入“项目公共仓”。
如果开发人员A的代码未被审核通过合入“公共仓库”,而此代码对开发人员B有借鉴作用,开发人员B可以直接从开发人员A的“个人公共仓”拉取代码。
优点
- 开发人员之间若需要代码协作,可以直接从其他人的“个人公共仓”拉取,无需等到代码提交到项目公共仓。
- “项目公共仓”无需为每个代码贡献者授权。
- 项目维护者通过审核pull request成为代码安全的重要防线。
- 仓库分支的选择可以根据项目实际情况综合使用前三种工作流。
缺点
提交开发人员代码到最终版本库的周期较长,步骤繁琐。
父主题: Git工作流