使用Git的"Fork & Pull"工作流程与"Forking"工作流程进行比较

4
有人能向我解释一下在使用Git时,“Fork & Pull”工作流和“Forking”工作流之间的区别吗?在我看来,两者都涉及创建自己的存储库,然后使用拉取请求来要求中央存储库接收您的更改?我已经多次阅读了两者的描述,但它们最终有什么不同还是不清楚。

1
嗯,这就是我的困惑所在吧 - 但我正在阅读的培训材料说,“分叉”工作流与普通的GitHub工作流非常不同 - https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow 也是这么说的。但我不明白它们之间的区别在哪里。 - MikeBaz - MSFT
你引用了一些页面,这些页面说“分叉”工作流与“正常”或“其他”工作流不同。我没有看到任何列出“分叉”和“分叉并拉取”的不同工作流的来源。 - ewindes
“Forking Workflow”与其他流行的Git工作流本质上不同。该语句来自于之前引用的https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow。 https://git.io/gitpr似乎暗示“Fork and Pull”是一种流行的工作流程。 - MikeBaz - MSFT
好的,那些其他的工作流程与我正在阅读的一些其他内容相匹配,所以这是对的。我想我必须接触那些将它们列为两种不同事物的材料的作者,并找出他们的想法,如果我有办法做到这一点的话。 - MikeBaz - MSFT
关于 Github,那是一个合理的指出,可能不应该放在那里。我会修复它。关于教程和命名,我不确定我理解问题。 - MikeBaz - MSFT
显示剩余7条评论
1个回答

0

来自 "Atlassian: Forking Workflow"

分支工作流与其他流行的Git工作流有根本的不同。

如果实际上是拉取请求模型(由GitHub 和他们的分支发起):每个开发人员都将代码推送到自己的分支存储库,并从分支存储库向主存储库发起拉取请求,维护者可以选择要集成的内容。

这与经典的Git工作流不同,其中所有开发人员都将代码推送到相同的远程存储库,但在不同的分支中进行,使用不同的合并工作流程(如gitworkflow)。

所以:

所描述的工作流程是否与其他人所称的 "Fork and Pull" 相同?

不是的:这是 Github 模型的另一个名称,你可以 fork 一个 repo,从该 fork 中 pull,创建一个新分支并将其 push 回去(到你的 fork),然后发起一个 pull request。

GitHub 与共享仓库模型 相对应,协作者被授予对单个共享仓库的推送访问权限,并在需要进行更改时创建主题分支。

在这个模型中,拉取请求很有用,因为它们会启动代码审查和关于一组更改的讨论,然后再将更改合并到主开发分支。


我在评论中引用了那篇文章,所以我知道那个。但是这仍然留下了一个问题,所描述的工作流程是否与其他人所称的“分叉和拉取”相同? - MikeBaz - MSFT
@MikeBaz-MSFT 不,这只是“Fork and Pull”的另一个名称:我已经编辑了答案,并附上了说明GitHub文档。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接