Git flow - 从另一个功能分支创建功能分支

pym*_*rco 78 git git-flow

我已经使用git flow了一段时间了.我很想知道具体的用例.

对于我的一个项目,我有一个新网站功能的门票.此票证取决于许多子任务.我想为主故障单创建一个功能分支,然后为每个子任务创建一个父功能分支的功能分支.

我们假设我有一张PROJ-500票,我为它创建了一个功能分支

git flow feature start PROJ-500
Run Code Online (Sandbox Code Playgroud)

然后我想整合门票PROJ-501通过PROJ-515PROJ-500整个事情纳入前develop.有没有办法让我做类似的事情

git flow feature start PROJ-511 -b PROJ-500
Run Code Online (Sandbox Code Playgroud)

然后超时这些子任务完成,当他们的功能完成时,分支被合并到PROJ-500.

git flow feature finish PROJ-511
Run Code Online (Sandbox Code Playgroud)

上面的命令将合并PROJ-511PROJ-500

一旦所有子任务完成,那么PROJ-500将完成并合并到develop.

通过这种方式,新网站功能可以集成到单个单元而不是零碎的单元中.

kri*_*aex 105

您可以通过创建子功能分支

git flow feature start PROJ-511 feature/PROJ-500
Run Code Online (Sandbox Code Playgroud)

但是你不能使用GitFlow工具将分支合并回主要功能分支,因为如果你这样做了

git flow feature finish PROJ-511
Run Code Online (Sandbox Code Playgroud)

该功能将合并到develop.不支持 Ergo 子功能,您需要手动执行.

替代方案:但要求并不新鲜.有一个开放的问题以及一个fork项目声称支持完成功能到分支以外的分支develop.我还发现了一个带有该功能实现的pull请求.您可能想尝试修改并查看您是否满意.

  • 为什么选择downvote?Downvotes旨在用于写得不好的,草率的答案,没有显示出研究工作或知识的迹象.不管怎样,谢谢. (3认同)

Ton*_*mit 24

据我所知,gitflow已经完全放弃了.

gitflow-avh取代它并提供此功能(请参阅 https://github.com/petervanderdoes/gitflow#creating-featurereleasehotfixsupport-branches).

我只是尝试它,它对我很好.

git flow feature start PROJ-511 feature/PROJ-500
git flow feature finish PROJ-511
Run Code Online (Sandbox Code Playgroud)

PROJ-511合并为功能/ PROJ-500.


Cés*_*sar 9

如前所述,我们可以使用任何基本分支启动新功能

git flow feature start PROJ-511 feature/PROJ-500
Run Code Online (Sandbox Code Playgroud)

要完成子功能,我们可以临时更改git flow配置以使用我们的功能分支而不是develop:

git flow config set develop feature/PROJ-500 && git flow feature finish PROJ-511
Run Code Online (Sandbox Code Playgroud)

这样,git flow就可以运行所有命令和健全性检查.最后,要恢复配置,我们可以运行

git flow config set develop develop 
Run Code Online (Sandbox Code Playgroud)


Der*_*k S 8

我不认为在git流程中有这种方法,但只有git才相当简单.

git checkout PROJ-500
git checkout -b PROJ-511
...do your PROJ-511 work...
git checkout PROJ-500
git merge PROJ-511
git branch -d PROJ-511
Run Code Online (Sandbox Code Playgroud)

  • 感谢德里克的回应。是的,我可以遵循那个工作流程。但是 git flow 封装了许多我更喜欢用于子功能开发的命令和健全性检查。例如,这里是 git-flow-feature 的链接 - https://github.com/nvie/gitflow/blob/develop/git-flow-feature (2认同)