本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Gitflow 策略中的分支
Gitflow 分支策略通常具有下列分支。
功能分支
Feature 分支是您開發功能的短期分支。feature 分支是透過分支離開develop分支來建立的。開發人員在feature分支中反覆執行、遞交和測試程式碼。功能完成後,開發人員會提升此功能。只有兩個路徑從特徵分支轉送:
-
合併至
sandbox分支 -
在
develop分支中建立合併請求
命名慣例: |
|
命名慣例範例: |
|
沙盒分支
sandbox 分支是 Gitflow 的非標準短期分支。不過,它適用於 CI/CD 管道開發。sandbox 分支主要用於下列目的:
-
使用 CI/CD 管道而非手動部署來執行沙盒環境的完整部署。
-
在較低環境中提交合併請求進行完整測試之前,開發和測試管道,例如開發或測試。
Sandbox 分支本質上是暫時的,並不意味著長期存在。應該在特定測試完成後將其刪除。
命名慣例: |
|
命名慣例範例: |
|
開發分支
develop 分支是長期分支,可將功能整合、建置、驗證和部署到開發環境。所有feature分支都會合併到develop分支中。合併至develop分支是透過需要成功建置和兩個開發人員核准的合併請求完成。若要防止刪除,請在分支上啟用develop分支保護。
命名慣例: |
|
發行分支
在 Gitflow 中,release分支是短期分支。這些分支很特別,因為您可以將它們部署到多個環境,採用建置一次、部署許多方法。 Release分支可以鎖定測試、預備或生產環境。在開發團隊決定將功能提升到更高的環境之後,他們會建立新的release分支,並使用先前版本的版本編號遞增。在每個環境的閘道上,部署需要手動核准才能繼續。 Release分支應該需要變更合併請求。
在release分支部署到生產環境之後,應該將其合併回 develop和 main分支,以確保任何錯誤修正或 Hotfix 都合併回未來的開發工作。
命名慣例: |
|
命名慣例範例: |
|
主要分支
main 分支是長期分支,一律代表在生產環境中執行的程式碼。從發行管道成功部署後,程式碼main會自動從發行分支合併到分支。若要防止刪除,請在分支上啟用main分支保護。
命名慣例: |
|
bugfix 分支
bugfix 分支是短期分支,用於修正尚未發佈至生產環境的發行分支中的問題。bugfix 分支應僅用於將release分支中的修正提升為測試、預備或生產環境。bugfix 分支一律從release分支分支分支。
測試錯誤修正之後,可以透過合併請求將其提升為release分支。然後,您可以遵循標準發行程序,將release分支向前推。
命名慣例: |
|
命名慣例範例: |
|
hotfix 分支
hotfix 分支是用於修正生產中問題的短期分支。它僅用於提升必須加速才能到達生產環境的修正。hotfix 分支一律從 分支main。
測試 Hotfix 之後,您可以透過將請求合併到從 建立的release分支,將其提升至生產環境main。然後,您可以遵循標準發行程序,將release分支向前推送以進行測試。
命名慣例: |
|
命名慣例範例: |
|