我目前正在研究 git-flow,并试图弄清楚如何将它用于我参与的项目。
我看过各种 git-flow 教程,我对 git 相当熟悉。因此,我不需要任何关于 git 的提示,而是直接使用 git-flow 的工作流程。
情况如下:
当我发布一个版本(我们称之为 1.0)时,这个 get 是开发的分支,这很好。假设现在我开始研究 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 有可能吗?即,一旦新版本的工作已经开始甚至完成,就基于早期版本发布?