GitFlow,何时在分支之间合并

时间:2017-12-28 13:04:48

标签: git git-flow

我已经向我的团队介绍了GitFlow,现在我们正在使用以下分支结构,它与我们的内部工作流程完美融合:

enter image description here

当前结构

我们master使用带有Sprint名称的TAG,从dev Sprint的每一端发出拉取请求

我们有dev这是我们代码的来源,然后我们为每个正在处理的插件都有一个branch

工作流

如果您打算使用新的插件/功能,我们正在使用这种方法:

git checkout dev
git pull
git branch -b "your plugin"
...
git commit
git push origin "your plugin"
...
pull request from "your plugin" into dev

我的问题如下:

  1. dev需要从我们的某个插件分支发出pull request时?每次有push进入“我的插件”分支?
  2. 如果开发人员正在使用plugin02并合并到dev,我如何才能将更改也发送到plugin04分支?
  3. 最后,如果有人直接在master上工作,就像紧急错误一样,我们如何重新同步所有子分支?发布pull request时会发生这种情况吗?

1 个答案:

答案 0 :(得分:2)

首先澄清一些。

您写道:

  

我们master使用带有Sprint名称的TAG,从dev Sprint的每一端发出拉取请求

拉取请求不是来自分支机构,而是来自您团队中的某个人。此外,标签不用于创建拉取请求,而是用于标记特定提交(即合并提交)。 如果您使用的是gitflow,我建议您使用git flow release(请参阅git-flow cheatsheet)在sprint结束时创建版本。

  
      
  1. dev需要从我们的某个插件分支发出pull request时?每次有push进入“我的插件”分支?
  2.   

通常,只要功能分支准备好合并到develop分支(即功能完成已完成的定义),您就会从功能分支创建一个pull请求来开发分支。

  
      
  1. 如果开发人员正在使用plugin02并合并到dev,我如何才能将更改也发送到plugin04分支?
  2.   

您可以通过将plugin04分支合并到dev分支来获取plugin04分支的更改。

  
      
  1. 最后,如果有人直接在master上工作,就像紧急错误一样,我们如何重新同步所有子分支?发布pull request时会发生这种情况吗?
  2.   

在这种情况下,根据gitflow,必须创建一个修补程序分支,然后将其合并回masterdev(请参阅git-flow cheatsheet)。由于此修补程序将合并回dev,您可以将dev分支合并到您的功能分支中。