有人能向我解释一下在使用Git时,“Fork & Pull”工作流和“Forking”工作流之间的区别吗?在我看来,两者都涉及创建自己的存储库,然后使用拉取请求来要求中央存储库接收您的更改?我已经多次阅读了两者的描述,但它们最终有什么不同还是不清楚。
来自 "Atlassian: Forking Workflow"
分支工作流与其他流行的Git工作流有根本的不同。
如果实际上是拉取请求模型(由GitHub 和他们的分支发起):每个开发人员都将代码推送到自己的分支存储库,并从分支存储库向主存储库发起拉取请求,维护者可以选择要集成的内容。
这与经典的Git工作流不同,其中所有开发人员都将代码推送到相同的远程存储库,但在不同的分支中进行,使用不同的合并工作流程(如gitworkflow)。
所以:
所描述的工作流程是否与其他人所称的 "Fork and Pull" 相同?
不是的:这是 Github 模型的另一个名称,你可以 fork 一个 repo,从该 fork 中 pull,创建一个新分支并将其 push 回去(到你的 fork),然后发起一个 pull request。
GitHub 与共享仓库模型 相对应,协作者被授予对单个共享仓库的推送访问权限,并在需要进行更改时创建主题分支。
在这个模型中,拉取请求很有用,因为它们会启动代码审查和关于一组更改的讨论,然后再将更改合并到主开发分支。