如何修复以前的版本?

时间:2018-03-21 00:47:11

标签: git branch

说我的产品是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  

1 个答案:

答案 0 :(得分:1)

9.0创建分支,然后从Awesome-Feature挑选提交。

  

我不知道它是否会引起问题。

这应该没问题。您可能需要解决冲突,但9.1版本分支将没问题。如果您需要在以后引入新功能,您仍然可以这样做。