Forking 工作流是分布式工作流,充分利用了 Git 在分支和克隆上的优势。可以安全可靠地管理大团队的开发者( developer ),并能接受不信任贡献者( contributor )的提交。Forking 工作流和前面讨论的几种工作流有根本的不同,这种工作流不是使用单个服务端仓库作为『中央』代码基线,而让各个开发者都有一个服务端仓库。
在 Forking 工作流中,开发者 push 完成的功能到他自己的仓库中,而不是共享仓库。 然后,他发起一个 Pull Request ,让项目维护者知道他的功能已经可以 Review 了。在这个工作流,Pull Request 的通知功能非常有用,因为项目维护者不可能知道其它开发者在他们自己的仓库添加了提交。由于各个开发有自己的公开仓库,Pull Request 的源仓库和目标仓库不是同一个。
所有的个人公开仓库实际上只是为了方便和其它的开发者共享分支。各个开发者应该用分支隔离各个功能,就像在功能分支工作流和 一样。 唯一的区别是这些分支被共享了。在 Forking 工作流中这些分支会被 pull 到另一个开发者的本地仓库中,而在功能分支工作流和 Gitflow 工作流中是直接被 push 到正式仓库中。
关注时代Java