我很难理解 Git flow 如何与 Github 一起工作。
Github 允许集成更改的 fork /pull 请求模型,其中整个上游仓库及其所有分支都被复制到 fork 中。
然后使用 git flow,我会从开发分支分支出来,然后当完成时我的更改将 merge 到我的分支的开发分支而不是上游。因此,当向上游存储库发出 pull 请求时,它会将 dev(fork) merge 到 dev(upstream),但这会丢失我的功能分支等曾经存在的所有知识。
因此,为了让 Git 流程正常工作,我是否需要停止 fork 存储库并直接在上游存储库中创建功能分支?
所以 fork/pull 应该与 git flow 分开?
最佳答案
So fork/pull should be kept separate from git flow?
是的:
- 一个 (Gitflow) 是一个 merge workflow (从哪里 merge 到哪里)
- 另一个(GitHub 分支/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
确切地说:尝试 merge 这两个工作流程没有意义,因为两者都用于不同的需求:
- gitflow:对受祝福的 Git 存储库的公共(public)访问,所有开发人员都可以向其中推送(并且必须就分支和 merge 约定达成一致)
- fork 工作流:无法访问一个公共(public) repo ,因此需要一个 fork (一个开发人员拥有并可以推送到的 repo ),通过 pull 请求异步贡献回原始 repo .
关于Git 流和 Github,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065289/