Git 流和 Github

标签 git github git-flow

我很难理解 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因此有两个部分:

gitflow

forks workflow

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/

相关文章:

git - 从现有的本地分支推送到新的在线存储库

git - 撤消 git pull --rebase

git - Teamcity Agent 无法运行构建

git - 使用 Jenkins(GitHub 插件)接收提交 ID

git - 将远程分支 pull 入具有不同名称的本地仓库?

git - 在 git 流模型中,我应该从 master 中的 merge 提交构建到发布吗?

Maven:将插件执行绑定(bind)到另一个插件的执行,而不是生命周期阶段

git - 如何让分离的存储库工作

git - 版本控制 : Managing Common Component Source

github - 根据您的最低稳定性设置,该软件包没有足够稳定的版本