【发布时间】:2011-12-20 16:59:23
【问题描述】:
我目前正在研究 git-flow,并试图弄清楚如何将它用于我参与的项目。
我看过各种 git-flow 教程,我对 git 相当熟悉。因此,我不需要任何关于 git 的提示,而是直接使用 git-flow 的工作流程。
情况如下:
当我发布一个版本(我们称之为 1.0)时,这个 get 是 develop 的分支,这很好。假设现在我开始研究 2.0,添加新功能。当然,一旦完成,我想将它们合并回开发中。现在在 1.0 上修复就可以了,所以假设我生产了几个版本 1.0.1、1.0.2 等。所有这些也会更新开发分支,这也很好。到目前为止,现在很麻烦,我可以独立开发 2.0 的功能和 1.0.x 的修补程序。
但是,假设有人请求 1.1 版本的新功能。现在我有一个问题。如果我创建一个功能分支,这将基于开发分支,它可能已经包含 2.0 的东西,我可能不希望在这个 1.1 版本中。
有没有一种简单的方法来独立处理这些 2.0 和 1.1 的更改?
我已经看到了几种可能性:
在开发的最后一个发布位置创建一个新分支。将开发重新定位到此位置并重命名另一个开发分支。但是,此分支将不包含 1.0.1 等的任何修补程序。
在 2.0 完成之前,不要合并 2.0 的回退功能。但是,我将不得不保留许多未合并的更改,直到最后一刻。这也无济于事,如果 2.0 get 已发布,然后请求更改为 1.0.x。
git flow 有可能吗? IE。一旦新版本的工作已经开始或什至完成,则基于早期版本发布?
【问题讨论】:
-
嗨,git-flow现在支持这个功能吗?
-
google“每个功能的分支”。 CI 人群对此表示强烈反对——特别是颠覆倡导者。如果使用正确的工具,我的文章就是一个论据。希望它可以帮助人们理解问题的症结——尤其是讨论的链接——不需要 google+ 帐户来阅读它。它被复制到我网站上的单独页面中。
标签: git version-control git-flow branching-strategy