Git 流和 Git 集线器

Git flow and Github

我很难理解 Git 流如何与 Github 一起工作。

Github 允许集成更改的 fork/pull 请求模型,其中整个上游 repo 及其所有分支都被复制到 fork 中。

然后使用 git 流程,我会从开发分支分支出来,然后当完成时,我的更改将合并到我的分支的开发分支而不是上游。因此,当向上游回购发出拉取请求时,它将 dev(fork) 合并到 dev(upstream) 但这会丢失我的功能分支等曾经存在的所有知识。

所以为了 Git 流程正常工作,我是否需要停止分叉存储库并直接在上游存储库中创建功能分支?

所以 fork/pull 应该与 git 流程分开?

So fork/pull should be kept separate from git flow?

是:

  • 一个(Gitflow)是一个merge workflow(从哪里合并到哪里)
  • 另一个(Git集线器fork/pull请求)是一个publication workflow(推送什么和在哪里)

Atlassian tutorial on workflows 因此有两个部分:

Just want to know whether git-flow should be used in the upstream or a fork.
It's not making sense to me to use git-flow in a fork as you lose all the info when merging back into the upstream repo

确切地说:尝试合并这两个工作流程没有意义,因为两者都用于不同的需求:

  • gitflow:共同访问受祝福的 Git 回购,所有开发人员都可以推送到那里(并且必须就分支和合并约定达成一致)
  • forking workflow:无法访问一个公共 repo,因此需要一个 fork(一个开发人员拥有并可以推送到的 repo),异步贡献回通过拉取请求的原始回购。