Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于维护多个版本的git分支_Git - Fatal编程技术网

用于维护多个版本的git分支

用于维护多个版本的git分支,git,Git,我正在考虑如何在我们的项目中管理git回购中的分支机构。 我读过,非常喜欢这个想法,似乎这个模型应该对我们有用 然而,本文中有一个隐藏的假设,它来自于master分支的存在:发布越晚,版本越大。例如,2.0.1总是在1.5.10之后发布。因此,当您遍历master中的每个提交时,版本将始终增加 这不适用于我们的项目案例。我们必须为不同的客户维护多个版本。对于一个客户,我们必须支持(并提供修复)版本1.5,对于另一个客户,我们的版本是2.0。显然,在我们的例子中,版本1.5.10可能比版本2.0.

我正在考虑如何在我们的项目中管理git回购中的分支机构。 我读过,非常喜欢这个想法,似乎这个模型应该对我们有用

然而,本文中有一个隐藏的假设,它来自于
master
分支的存在:发布越晚,版本越大。例如,
2.0.1
总是在
1.5.10
之后发布。因此,当您遍历master中的每个提交时,版本将始终增加

这不适用于我们的项目案例。我们必须为不同的客户维护多个版本。对于一个客户,我们必须支持(并提供修复)版本
1.5
,对于另一个客户,我们的版本是
2.0
。显然,在我们的例子中,版本
1.5.10
可能比版本
2.0.1
来得晚(时间上)。在提交
2.0.1
之后,将
1.5.10
提交到
master
中毫无意义


这篇文章的模型是否完全不适合我们,或者我们是否可以稍微修改一下以使其工作?

Master应该只反映当前版本,这就是我实现它的方式。任何其他版本都在其on分支上

例如


分支V1上的提交不再是主历史记录的一部分,V2历史记录已与主历史记录合并。因此,日志中不应存在任何历史冲突。

众所周知,对于相应的主要版本,有不同的分支

master
仍然是主要的集成分支

然后,您应该分别维护您的发布分支,并决定要向每个发布分支交付哪些提交

研究您所知道的采用您的发布模型并了解其存储库策略的著名项目总是一件好事。下面是使用git scm维护几个主要版本的好例子

V1 (master) -> -> -> \/ -> V2 (master)
     v2  -> -> -> -> /\ -> V1 (no longer master)