说我的产品是10.0版。
我将开发一个Awesome Feature并发布为10.1。我的客户使用9.0版本,想要付费并获得Awesome功能而无需其他更改,因此我将发布9.1。
我如何提交代码并合并更改?
我可以灵活地使用哪种分支模型(master-as-production,master-as-integration,parallel或其他)。
如果我创建基于10.0的功能分支,并合并到10.0,我无法将功能分支合并回9.0,因为9.1将从9.0更改为10.0。
9.0 --> 10.0 --> 10.1
\ Awesome Feature
\ \
\------------------> 9.1 (other features are also introduced)
如果我创建基于10.0的功能分支,并且挑选分支并应用于9.0,它可以工作。但是我觉得cherry-pick生成的提交与原始提交是隔离的。我不知道它是否会引起问题。
9.0 --> 10.0 --> 10.1
\ Awesome Feature
\
\---------> 9.1
cherry-pick Awesome Feature
如果我基于9.0创建功能分支,并合并到10.0,它将起作用。但我必须事先知道哪个最老的版本需要该功能,并且一直合并到最新版本。有时我不知道分支机构将适用哪个版本。例如,在实施Awesome Feature之后,我的8.0客户也希望这个功能是固定的,我该怎么做?
9.0 --> 10.0 -------> 10.1
\ /
\---------> 9.1
Awesome Feature
答案 0 :(得分:1)
从9.0
创建分支,然后从Awesome-Feature
挑选提交。
我不知道它是否会引起问题。
这应该没问题。您可能需要解决冲突,但9.1版本分支将没问题。如果您需要在以后引入新功能,您仍然可以这样做。