

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Gitflow 策略的优缺点
<a name="advantages-and-disadvantages-of-the-gitflow-strategy"></a>

Gitflow 分支策略非常适合规模更大、分布更分散、有严格发布和合规要求的团队。Gitflow为组织提供了可预测的发布周期，而大型组织通常更喜欢这样做。Gitflow 也非常适合需要护栏才能正确完成软件开发生命周期的团队。这是因为该策略中有多种机会进行审查和质量保证。Gitflow 也非常适合必须同时维护多个生产版本的团队。的一些缺点 GItflow 是，它比其他分支模型更复杂，并且需要严格遵守模式才能成功完成。由于管理发布分支的严格性质，Gitflow不适合追求持续交付的组织。Gitflow发行分支机构可能是长期存在的分支机构，如果不及时解决，可能会积累技术债务。

## 优点
<a name="advantages"></a>

基于 GitFlow 的开发具有多种优势，可以改善开发流程、简化协作并提高软件的整体质量。以下是一些主要好处：
+ **可预测的发布流程** — Gitflow 遵循定期且可预测的发布流程。它非常适合有规律开发和发布节奏的团队。
+ **改善协作** — Gitflow 鼓励使用`feature`和分支。`release`这两个分支可以帮助团队并行工作，同时最大限度地减少相互依赖。
+ **非常适合多种环境** — Gitflow 使用`release`分支，分支可以是寿命更长的分支。这些分支使团队能够在更长的时间内定位单个版本。
+ **生产中的多个版本** — 如果您的团队支持生产中的软件的多个版本，则 Gitflow `release` 分支支持此要求。
+ **内置代码质量审查** — Gitflow 要求并鼓励在将代码提升到其他环境之前使用代码审查和批准。此过程要求所有代码促销都必须执行此步骤，从而消除了开发者之间的摩擦。
+ **组织优势** — Gitflow在组织层面也有优势。Gitflow 鼓励使用标准发布周期，这有助于组织了解和预测发布时间表。由于企业现在知道何时可以交付新功能，因此由于有固定的交付日期，因此减少了时间表上的摩擦。

## 缺点
<a name="disadvantages"></a>

基于 GitFlow 的开发确实有一些缺点，可能会影响开发过程和团队动态。以下是一些明显的缺点：
+ **复杂性** — Gitflow 是新团队需要学习的复杂模式，你必须遵守 Gitflow 的规则才能成功使用它。
+ **持续部署** — Gitflow 不适合将许多部署快速发布到生产环境的模式。这是因为 Gitflow 需要使用多个分支和严格的工作流程来管理分支。`release`
+ **分支管理** — Gitflow 使用许多分支，维护起来可能会变得繁重。为了使分支彼此正确对齐，跟踪各个分支并合并已发布的代码可能很困难。
+ **技术债务** — 由于 Gitflow 的发布速度通常比其他分支模型慢，因此可以积累更多的功能来发布，这可能会导致技术债务积累。

团队在决定基于 GitFlow 的开发是否是其项目的正确方法时，应仔细考虑这些缺点。