用于修复bug的Git flow分支

时间:2012-06-26 06:50:23

标签: git git-flow

我一直在使用git flow。我正在寻找分支模型来修复开发分支中发现的问题和错误。我知道我们可以使用修补程序,但它适用于主分支,或快速修复生产。

修复开发中的错误不是一个功能。我总是可以重新初始化git flow并将默认前缀分支覆盖到bug /。但如果我还需要启动新功能,它需要重新初始化。这是一个很好的做法还是有一些技巧可以解决这个问题?

3 个答案:

答案 0 :(得分:23)

如果您需要应用的修复只是一个提交修复,我只会在开发时不创建分支,如果它涉及多个提交,您只需使用git flow feature命令。当您完成只有一次提交的功能分支时,软件当前将执行git merge -ff,这在您的日志中看起来与仅在开发时提交相同。

如果您想在日志中指出此功能是错误修正,您可以将分支命名为“bugfix-missing-parameter”或“issue-34-not-reading-file-proper”

我可以看到单词这个单词如何暗示“新的东西”而不是“修复”,但这只是单词。我是否应该为修复创建一个新命令,代码看起来与git flow feature的代码完全相同,所以我认为没有任何好处。

2015年11月19日更新

从版本1.9.0开始,gitflow AVH Edition有一个bugfix命令。它与功能相同,但分支是带有bugfix而不是功能的前缀。

答案 1 :(得分:13)

修复development分支上的错误而不是git flow hotfixmaster上)的想法是:

  • 您通常会修复开发中的错误HEAD(这只是修复其他提交引入的一些问题的另一个提交)
  • 您在专用分支中对master(“production branch”)的特定版本/标记执行修补程序,您将会或不会合并该修补程序(如果此修补程序非常特定于某个版本,并且在后续版本中不再相关,您根本不会将其合并回来)

所以我认为您不需要专门的分支/“git flow”操作:只需做出明确的提交并将其推送到development分支之上。

答案 2 :(得分:4)

git-flow-avh就是你想要的

对于osx:

  • brew uninstall git-flow #remove your current
  • brew install git-flow-avh #add the update

在项目文件夹中:

  • git init
  • 您应该在提示中看到 - Bugfix branches? [bugfix/]这不会是标准git-flow的提示
  • 启动新的错误修正 - git flow bugfix start <branch name>