GitFlow規范-完整規范版(新圖)

作為廣為流傳的 Git Flow 的原圖所體現的信息并不完整,比如:缺少測試分支、發布分支的bug修復分支、預發布分支等等。為了準確、充分、形像、清晰地表達 Git Flow 中的 分支流轉規則,我新定義了一些相關概念,并重新嚴格地描述了 Git Flow,也為其重新設計并繪制了一張 分支流轉規范圖,詳情如下:

下文描述中使用了一些新的概念,相關概念的定義請看 分支相關的概念

各種分支的流轉規則如下:

  • 發布分支:該分支從 預發布分支 合并而來;如果沒有 預發布分支,則從 測試分支 合并而來;
  • 預發布分支:該分支從 測試分支 合并而來;如果不需要,也可以不設 預發布分支
  • 測試分支:該分支從 開發分支測試修復分支 合并而來;
  • 開發分支:用于協作開發的主干分支。
    • 其它分支在合并到開發分支前,需要確保 被合并的分支 已經包含了開發分支上的所有版本;即:如果被合并的分支在合并前,開發分支上有新的變更,且這些新的變更并沒有包含在 被合并的分支上,則需要先把開發分支上那些新的變更合并到被合并分支上,確保沒問題后,然后才能再將分支合并到開發分支上;
    • 因為 開發分支 會被頻繁使用到,所以建議將開發分支設置成倉庫的默認分支;
  • 功能分支:基于 開發分支 創建;開發完成后,合并到 開發分支
  • 修復分支:當問題已經被流轉到 測試分支 及其 下游分支(比如:預發布分支、發布分支)時,則應該 基于 問題所在的 流轉鏈 中的 終點分支 創建 修復分支,修復完問題后,再將該分支分別合并到 終點分支開發分支 上;否則,應當將問題的修復視作正常的開發來對待,即:可以在功能分支上直接修復,也可以基于開發分支創建一個用于修復該問題的 功能分支
    • 測試修復分支:如果問題所在的終點分支是 測試分支,則又稱該 修復分支測試修復分支
      • 在合并前需要確保 該分支中 已經包含了 測試分支 上的所有變更;即:如果 測試分支 上有新的變更,且這些新的變更并沒有包含在該分支上,則需要:
        1. 先把 測試分支 上那些新的變更合并到該分支上,確保沒問題后,然后才能再將該分支合并到 測試分支
        2. 然后將 開發分支 合并到該分支上,確保沒問題后,然后再將該分支合并到 開發分支 上;
    • 發布修復分支:如果問題所在的終點分支是 預發布分支發布分支 ,則又稱該 修復分支發布修復分支
      1. 修復完問題后,測試人員直接在該分支上進行測試。
      2. 測試完成后,再將該分支分別合并到 母分支(即:問題所在流轉鏈的終點分支) 和 開發分支
      3. 在合并前需要確保 該分支中已經包含了 母分支 上的所有變更;即:如果 母分支 上有新的變更,且這些新的變更并沒有包含在該分支上,則需要先把 母分支 上那些新的變更合并到該分支上,確保沒問題后(此處需要再次測試),然后才能再將該分支合并到 母分支 上;
      4. 然后將 開發分支 合并到該分支上,確保沒問題后,最后再將該分支合并到 開發分支 上;
  • 合并分支:該分支是對 需要合并的多個分支 進行合并而來的分支;可用于以下場景:
    • 多個功能分支需要同時合并到開發分支;
    • 多個修復分支需要同時合并到終點分支開發分支
  • 對于任意分支,在將其合并到 母分支 前,都需要確保 該分支 已經包含了 母分支 上的所有版本;即:如果該分支在合并前,母分支上有新的變更,且這些新的變更并沒有包含在 該分支上,則需要先把 母分支 上那些新的變更合并到該分支上,確保沒問題后,然后才能再將該分支合并到 母分支 上;
  • 只有 發布分支、預發布分支、測試分支、開發分支 是長期分支,其它分支的都是臨時分支;
  • 對于臨時分支,使用完后,應及時刪除;

注意:

  • 本規范(分支的流轉規范)中所述的合并操作 可以是 一般的 分支 合并 操作,也可以是 Pull requests (Merge Reques),這個取決于倉庫的管理策略;
  • 對于那些比較重要的長期分支(比如:測試分支、發布分支 等等)上的合并操作,建議使用 Pull requests (Merge Reques) 的方式,因為 Pull requests (Merge Reques) 方便權限管理 和 操作確認;

GitFlow分支流轉規范圖

高清圖詳見:GitFlow分支流轉規范圖-高清GitFlow分支流轉規范圖-高清透明
該圖的設計思路詳見:GitFlow分支流轉規范圖設計記錄

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容