Git Flow代碼管理模型介紹


Git Flow 是構(gòu)建在Git之上的一個(gè)軟件開發(fā)活動(dòng)源碼管理的模型,是在Git之上構(gòu)建的一項(xiàng)源碼管理最佳實(shí)踐。

此篇只介紹Git Flow的邏輯結(jié)構(gòu)以及各分支作用, 不涉及Git Flow的具體用法, 具體用法請(qǐng)參考Git Flow 發(fā)祥地Git Flow 文檔

Git Flow 邏輯圖:

屏幕快照 2016-04-25 下午6.11.28.png

下面是Git Flow官網(wǎng)的邏輯結(jié)構(gòu)圖:

git-model@2x.png

各分支介紹:

  1. 主分支 (長(zhǎng)期存在)
  • master分支
    1. 存放可隨時(shí)部署的代碼. 當(dāng)開發(fā)告一段落, 產(chǎn)生了一份穩(wěn)定可以部署的代碼時(shí), 就可以更新到master分支上. 同時(shí)每次更新, 最要打好相應(yīng)版本號(hào)的tag. 項(xiàng)目成功主要表現(xiàn)為源碼, master便是存儲(chǔ)穩(wěn)定代碼之處, 因此此分支長(zhǎng)期存在.
    2. master分支一把創(chuàng)建倉(cāng)庫(kù)是默認(rèn)就創(chuàng)建好了, 命名一般就叫master
  • develop分支
    1. develop分支是保持當(dāng)前開發(fā)最新成果的分支, 一般會(huì)在此分支上進(jìn)行晚間構(gòu)建(Nightly Build)并執(zhí)行自動(dòng)化測(cè)試.
    2. develop分支產(chǎn)生于master分支, 并長(zhǎng)期存在.
    3. 當(dāng)一個(gè)版本功能開發(fā)完畢且通過測(cè)試功能穩(wěn)定時(shí), 就會(huì)合并到master分支上, 并打好帶有相應(yīng)版本號(hào)的tag
    4. develop分支一般命名就叫develop
  1. 輔助分支 (在一段時(shí)間內(nèi)存在)
  • feature分支
    1. feature分支從develop分支創(chuàng)建
    2. 主要是為了開發(fā)某個(gè)功能, 或試驗(yàn)?zāi)稠?xiàng)功能而創(chuàng)建, 開發(fā)完成之后需要合并到develop分支上
    3. 如果試驗(yàn)失敗, 此分支也可丟棄, 不用合并到develop分支之上.
    4. 此分支可以不推送到遠(yuǎn)程倉(cāng)庫(kù)而只存在與開發(fā)者本地.
    5. feature分支除master,develop, release-*, hotfix-*之外隨意命名, 個(gè)人以為命名為feature-編號(hào)或者feature-功能名稱為好.
  • release分支
    1. release分支是為發(fā)布新的產(chǎn)品版本而設(shè)計(jì)的。在這個(gè)分支上的代碼允許做小的缺陷修正、準(zhǔn)備發(fā)布版本所需的各項(xiàng)說明信息(版本號(hào)、發(fā)布時(shí)間、編譯時(shí)間等等)。通過在release分支上進(jìn)行這些工作可以讓develop分支空閑出來以接受新的feature分支上的代碼提交,進(jìn)入新的軟件開發(fā)迭代周期。

    2. release分支從develop分支創(chuàng)建而來

    3. release分支結(jié)束后需要合并到develop分支和master分支上.

    4. 一般命名為 release-version-code, 如release-6.0

  • hotfix分支
    1. 當(dāng)生產(chǎn)環(huán)境中的軟件遇到了異常情況或者發(fā)現(xiàn)了嚴(yán)重到必須立即修復(fù)的軟件缺陷的時(shí)候,就需要從master分支上指定的TAG版本派生hotfix分支來組織代碼的緊急修復(fù)工作。

    2. hotfix分支從master分支創(chuàng)建而來

    3. hotfix分支完成后需要合并到master和develop分支

    4. 一般命名為hotfix-version-code, 如 hotfix-6.0


參考: 基于git的源代碼管理模型——git flow

更多閱讀:
Git Flow 項(xiàng)目地址
Git Flow 文檔
Git Community Book 中文版
Git Pro 英文版 v2
Git Pro 中文版 v2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容