我已经向我的团队介绍了GitFlow,现在我们正在使用以下分支结构,它与我们的内部工作流程完美融合:
我们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
我的问题如下:
dev
需要从我们的某个插件分支发出pull request
时?每次有push
进入“我的插件”分支?plugin02
并合并到dev
,我如何才能将更改也发送到plugin04
分支?master
上工作,就像紧急错误一样,我们如何重新同步所有子分支?发布pull request
时会发生这种情况吗?答案 0 :(得分:2)
首先澄清一些。
您写道:
我们
master
使用带有Sprint名称的TAG,从dev
Sprint的每一端发出拉取请求。
拉取请求不是来自分支机构,而是来自您团队中的某个人。此外,标签不用于创建拉取请求,而是用于标记特定提交(即合并提交)。
如果您使用的是gitflow,我建议您使用git flow release
(请参阅git-flow cheatsheet)在sprint结束时创建版本。
- 当
醇>dev
需要从我们的某个插件分支发出pull request
时?每次有push
进入“我的插件”分支?
通常,只要功能分支准备好合并到develop分支(即功能完成已完成的定义),您就会从功能分支创建一个pull请求来开发分支。
- 如果开发人员正在使用
醇>plugin02
并合并到dev
,我如何才能将更改也发送到plugin04
分支?
您可以通过将plugin04
分支合并到dev
分支来获取plugin04
分支的更改。
- 最后,如果有人直接在
醇>master
上工作,就像紧急错误一样,我们如何重新同步所有子分支?发布pull request
时会发生这种情况吗?
在这种情况下,根据gitflow,必须创建一个修补程序分支,然后将其合并回master
和dev
(请参阅git-flow cheatsheet)。由于此修补程序将合并回dev
,您可以将dev
分支合并到您的功能分支中。