遵循git-flow应该如何处理早期版本的修补程序?

如果您尝试遵循git-flow分支模型, 这里logging并使用工具 ,那么您应该如何处理这种情况:

你已经做了1.0版本和2.0版本。 那么你需要为1.0做一个修补程序。 您从1.0标签创build一个修补程序分支并在那里实现修复。 但是呢?

通常情况下,你会合并掌握并在那里放置一个1.1版本的标签。 但是你不能把1.1合并到2.0之后的一个点上。

我想你可以把发布标签放在修补程序分支上,但是这会在主发行版旁边创build一个包含发行标签的永久分支。 这是正确的方式吗?

gitstream中似乎有一个“支持”分支的概念。 这用于将修补程序添加到较早版本。

这个线程有更多的信息 ,这些例子:

git checkout 6.0 git checkout -b support/6.x git checkout -b hotfix/6.0.1 

…做你的修复,然后:

 git checkout support/6.x git merge hotfix/6.0.1 git branch -d hotfix/6.0.1 git tag 6.0.1 

或者使用git flow命令

 git flow support start 6.x 6.0 git flow hotfix start 6.0.1 support/6.x 

…然后进行更改:

 git flow hotfix finish 6.0.1 

有趣的问题! 假设主人可以跟踪生产,你链接的stream程。 这只有在生产版本严格增加的情况下才有效。 对于只有一个生产版本的网站来说,情况通常如此。

如果你不得不维护多个生产版本,一个分支来跟踪生产是不够的。 一个解决scheme不是使用master来跟踪生产。 相反,使用像release1release2等分支

在这种方法中,您可能甚至不需要修补程序分支。 您可以修复release1分支上的问题。 当解决scheme足够好时,在release1分支上创build一个release1.1标签。

git-flow假设你一次只支持一个版本发行版,方便大师跟踪。 如果您维护的数量超过1个,那么您将需要修改git-flowstream程以使您所支持的单独版本(master-1,master-2)具有多个跟踪器。 您可以继续使用master来跟踪最新版本行,替代最新版本行(master代替master-2)的特定跟踪程序。

不幸的是,您可能正在使用的任何git-flow工具可能需要修改,但希望您熟悉git-flow过程以直接使用git命令来处理此特定情况。

Interesting Posts