

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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 型開發是否為適合其專案的正確方法時，應仔細考慮這些缺點。