2012-09-07 42 views
3

我只是将开发项目从SVN切换到git,这是我们第一次使用任何类型的分支。我正在围绕git-flow方法(基于this great article)环绕我的大脑,但我陷入了概念化如何做一件事。如何处理git中的主要版本分支

当我们做一个主要版本的凹凸(比如2到3)时,我们仍然支持至少一年的版本2,包括错误修复和偶尔的新功能。我是否会为版本2创建新的永久分支以将这些更改应用于?如果我们开始为版本3开发,并决定要在版本2中添加新的版本3功能,那么这是否可行?您将如何实现?我必须从开发分支挑选提交到版本-2分支,还是我可以做一个实际的合并?

(我用塔为我的Git客户端)

+0

看到我的答案在这里[功能backiting在Git/Subversion](http://stackoverflow.com/questions/12132594/feature-backporting-in-git-subversion) – kan

回答

2

是的,你将有一个支持分支和开发分支。

支持分支上的任何错误修正很可能也与开发分支有关,因此支持分支应定期合并到开发分支中。请注意,您的开发版本越分散,您遇到的合并冲突就越多。

另一种情况,即与支持相关的开发中的一个特性,应该不是规则的例外(否则您首先会开发支持),因此应该挑选这些提交。将开发分支合并到支持分支不应该发生,因为您很可能有很多未经测试的,未完成的或实验性的功能,您不想将其作为支持补丁发布。

+1

只是后续一年后。我们最终创建了“支持”,“开发”和“共同”分支。这使得我们可以在开发分支中构建特性,同时在公共分支中进行任何重构,然后将普通合并到支持和开发中(并避免采摘樱桃)。我们通常只需要修复一些共同的错误,因为这种方法使我们的代码基础几乎不分散。 –

相关问题