Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A successful Git branching model 導讀

Wen_Liao
January 10, 2015

A successful Git branching model 導讀

11/Jan/2015: 新增為什麼要用FF以及release圖片少說明的地方
12/Jan/2015: Fix typo

Wen_Liao

January 10, 2015
Tweet

More Decks by Wen_Liao

Other Decks in Technology

Transcript

  1. branch Master Branch Head Master Head branch Master Branch Head

    Master Head merge VS 那一個比較清楚地顯 示軟體branch的關聯 性?
  2. 作者的Branches 分類 • Main branches ◦ Master ◦ Develop •

    Supporting branches ◦ Feature ◦ Release ◦ Hotfix
  3. Main Branches Develop Master branch merge when production release merge

    when production release AKA: integration Master: 保證product ready 狀態 Develop: • 隨時為下一次 Release準備 • 放 ◦ Feature ◦ Fix ◦ Release更動 ▪ 版號 ▪ 路徑 ▪ ... Tag: 版號 Tag: 版號
  4. Feature Branch • 一定從develop branch出來 • 寫完merge 回develop branch •

    寫的不如預期可以宰掉 • 一定要用NO FF • 可以定相關的branch name convention
  5. Release Branch • Branch出來,處理Release相關事物中,如果 發現錯誤,要merge 回develop branch • 確認無誤,可以出貨後 ◦

    merge回develop和master ◦ master tag release版號 ◦ 可以宰掉release branch • 一定要用NO FF • 可以定相關的branch name convention
  6. Release Branch: USE NO FF merge branch Develop Release Head

    Develop Head Bug fix merge merge Master Master Head Tag with version
  7. Hotfix Branch • 一定從master branch出來 • 用來處理Release後被客戶或是QA抓包的錯 誤 • 可以順便進版表示該版本是Fix

    bug,如1.2晉 升到1.2.1 • 修正完畢要merger回master,視情況merge回 develop ◦ 因為有可能develop已無此功能或是已修正
  8. Hotfix Branch: USE NO FF merge branch Develop Hotfix Head

    Develop Head Bug fix merge merge Master Master Head 進版Bug fix