33

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

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

4

3 回答 3

24

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

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

我可以看到功能一词如何暗示“新事物”而不是“修复”,但这只是文字。如果我为修复创建一个新命令,代码看起来与代码完全相同,git flow feature所以我看不出有任何好处。

2015 年 11 月 19 日更新

从 1.9.0 版开始,gitflow AVH 版有一个错误修复命令。它与功能相同,但分支的前缀是错误修复而不是功能。

于 2012-06-26T12:40:19.537 回答
13

与(on ) 相反,修复development分支上的错误的想法是:git flow hotfixmaster

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

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

于 2012-06-26T07:40:52.227 回答
11

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>
于 2017-10-25T03:02:20.997 回答