點擊上方藍色字體了解更多的嵌入式編程實用技能。
如果你覺得該文章對你有幫助,歡迎點贊+關注
在前一篇文章中,我們了解了 Git 作為軟件開發黃金標配的原因。今天,我們將深入了解一下 Git 的分支管理,尤其是一種備受推崇的管理方式——Git Flow。
Git Flow 是一種基于 Git 的分支管理模型,旨在幫助開發者更加優雅地處理復雜的項目開發過程。這一模型由 Vincent Driessen 提出,它定義了一組獨立的分支,每個分支都有特定的用途,以確保團隊協作的高效性。
優勢在于:
清晰的分支結構:Git Flow 提供了清晰的分支結構,使開發者能夠明確地知道當前項目的狀態和下一步的操作。
有序的版本管理:通過定義版本、功能和熱修復分支,Git Flow 確保了版本的有序發布和問題的及時修復。
團隊協作:每個開發者都能在獨立的分支上工作,通過 Pull Request 或 Merge Request 方便地進行代碼審查,提高團隊協作效率。
主分支(master):核心分支,不可刪除
命名固定master,主分支是項目的穩定版本,只包含隨時可以發布的代碼。所有的開發都應該在其他分支進行,不直接在主分支上操作。
開發分支(develop):核心分支,不可刪除
命名固定develop,所有日常開發工作都在開發分支上進行。這是一個集成了各種功能和修復的分支,當準備好發布新版本時,將合并到主分支。因此該分支的功能相對于
master分支是比較全的,但是缺乏一定穩定性。
功能分支(feature):臨時分支,可刪除。
用于開發新功能的分支。從開發分支創建,完成后合并回開發分支。
對于該分支,命名規范是:feature/< name >,比如 feature/add_check
發布分支(release):臨時分支,可刪除。
當開發階段完成,從開發分支創建發布分支,進行預發布的準備工作,如版本號升級和文檔更新。完成后合并到主分支,并可能合并回開發分支。
對于該分支,命名規范是:release/< name >,通常結合語義化版本命名規范(語義化版本格式為: 主版本號.次版本號.修訂號),比如 feature/v1.0.0
熱修復分支(hotfix):臨時分支,可刪除。
用于緊急修復主分支上的問題。從主分支創建,完成后合并回主分支,并可能合并回開發分支。
對于該分支,命名規范是:hotfix/< name >,通常也是結合語義化版本命名規范,主要是更改修訂號,比如在 v1.0.0 版本(主分支上的該版本標簽)的基礎上創建分支,命名 hotfix/v1.0.1
借用網上一張經典的分支工作流程圖:

如果剛使用git的朋友,對git分支創建命令行和分支管理等使用方式還不嫻熟的情況下,可以利用軟件體驗一把,該軟件名是”SourceTree“

上述的分支管理是一個比較經典的,但是每個公司的項目管理方式不同和敏捷開發等原因,因此該分支管理模型不一定適用,但是主分支和開發分支是常用的。
主分支命名是master,開發分支命名develop。
不過在2020年,github宣稱將master默認分支名改為main,大概主要是因為master and slave術語不夠政治正確,跟種族歧視有關系。
團隊協作時功能分支也是會經常使用,在開發新功能過程中為了避免影響開發分支,通常在開發分支創建功能分支進行開發,開發完成即可合并到開發分支上。
分支命名雖然比較隨意,但是建議還是按照 feature/< name > 規范命名,比較清晰。