Git 特征相互关联时的分支设置
假设我们在git下有一个web应用程序。我们正在进行本地化,因此我们有一个长期运行的主题分支“loc”。我们也正在做一个新的皮肤,将与l10n,所以我们有一个长期运行的主题分支'皮肤' 我们希望每个都有单独的分支,但问题是这两个特性相互纠缠。在执行l10n工作时,翻译消息的长度和其他因素会影响皮肤。同样,如果对外观进行更改,则可能需要对消息或其他l10n功能进行一些修改。从另一个角度来看:当我们对“loc”进行更改并希望进行测试时,我们希望获得“skin”的最新工作副本,反之亦然 那么,如何最好地处理这种情况呢?我们是否只使用一个分支,我们是否将两个分支馈送到一个中间分支“skin plus loc”,在那里我们进行测试,然后合并到dev中,我们是否继续将两个分支的尖端合并到彼此中?还是我们一直在将dev合并到它们中?处理此类案件的最佳做法是什么。请参阅“” 分支用于隔离开发工作,允许单独的任务彼此独立地演化Git 特征相互关联时的分支设置,git,branch,Git,Branch,假设我们在git下有一个web应用程序。我们正在进行本地化,因此我们有一个长期运行的主题分支“loc”。我们也正在做一个新的皮肤,将与l10n,所以我们有一个长期运行的主题分支'皮肤' 我们希望每个都有单独的分支,但问题是这两个特性相互纠缠。在执行l10n工作时,翻译消息的长度和其他因素会影响皮肤。同样,如果对外观进行更改,则可能需要对消息或其他l10n功能进行一些修改。从另一个角度来看:当我们对“loc”进行更改并希望进行测试时,我们希望获得“skin”的最新工作副本,反之亦然 那么,如何最好
如果您的两个任务(皮肤和本地化)紧密相连,那么它们应该在同一个分支中。与
dev
分支分开。分支有许多有用的用途,但在本次讨论中,我将把它们分为两类:
- bug修复分支聚合了一系列松散相关的bug修复和改进
- 要素分支或主题分支将隔离要素上的工作,直到该要素准备合并
- 可以并允许重定基址。如果一个分支上只有一个开发人员,则默认情况下允许重定基址。然而,如果有几个开发人员,使用重定基址可能是危险的,除非您可以保证重定基址总是微不足道的
- 错误修复分支尽可能经常保持“干净”。站点应该从bugfix分支中的任何一点构建。如果开发太不稳定,不允许这样做,那么这不是一个好的解决方案
- 错误修复分支不依赖于功能分支。如果这两项工作之间存在大量耦合,那么重新定基将是痛苦的,应该避免这种解决方案