git中的长期支持分支?

时间:2016-10-11 13:18:46

标签: git branch enterprise

我在一家企业公司工作,为macOS开发软件。

我不确定如何通过在一个git-repo中支持多个版本的软件来解决我的问题。

该产品是macOS的Xcode项目,代码由git管理。

目前有一个版本: 版本1.0

每个版本都有效,直到下一个主要版本发布。因此v1.0有效并保持到v2.0。但v1.0现在应该是一个长期支持的分支" - 表示如果v2.0在那里,仍然保持v1.0。

如何解决维护v1.0和v2.0以及未来维护v3.0的问题? 如何修复v1.0中的错误并同时修复v2.0中的错误?

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

您可以branches使用tags来处理单个仓库中的多个“树”。以Ruby on Rails repository为例。他们有不同版本的x-y-stable个分支。

要将提交从一个分支移植到另一个分支,您可以使用cherry pick feature

答案 1 :(得分:2)

当您在一个版本中修复某些内容时,如果相同的修复程序适用于另一个分支,您可以选择提交到另一个分支(情况并非总是如此,因为各种版本会随着时间的推移越来越多地转移,进行某些修复不可转让的。)

请参阅: https://git-scm.com/docs/git-cherry-pick

答案 2 :(得分:1)

假设master是您当前的生产版本,每次执行发布时都会使用版本号标记master(即v1.0,v2.0等)。因此,假设您已经为版本1.0和2.0完成了这项工作,并开始在3.0版本上工作。您应该有一个从2.0版本创建的集成分支,并将其称为next-release。下一个版本的分支将包含所有错误修复和增强功能(通常每个错误修复和增强都将在他们自己的工作分支中,然后在正确的同行评审时合并到下一个版本中。)

当针对1.0或2.0报告错误时,您应首先确认下一版本中存在错误。如果是这样,使修复和樱桃选择修复,如先前的用户建议。如果错误仅存在于1.0或2.0中,那么您可以从1.0或2.0标记创建工作分支并在那里进行修复。