git flow說明

git flow

網路版本

我方版本

gitGraph
       commit id: "main"
       branch develop
       commit id: "init"
       branch feature1
       commit id: "feature1"
       checkout develop
       branch feature2
       commit id: "feature2"
       checkout feature2
       branch mergeFeature
       merge  feature1
       commit id: "merge12ToDev"
       commit tag:"dev-0.0.1"
       branch ga
       commit id: "toPro"
       commit tag:"ga-0.0.1"
       checkout main
       merge  ga
       commit id: "mergeAllFeature"
       checkout develop
       merge  main
       commit id: "202301XX"
       checkout develop
       branch feature3
       commit id: "feature3"
       checkout develop
       branch feature4
       commit id: "feature4"
       checkout mergeFeature
       merge  feature3
       merge  feature4
       commit id: "merge34ToDev"

主要的幾個分支

main(有時候是master)

基本上每一次上板後都要merge回這一個分支,此分支為主要基底,方向只有ga可以改回來他,平常不可改動他,任何情境下都不可以

dev

  1. 開發中的主要基底分支,main來,往merge(如果資源環境夠就不用這一個分支)去
  2. 通常是根據情境每一個feature就從這一個分支為基底去寫作,但是如有確定重大情事,可從這裡修正後往merge或是往ga走

feature

此為功能性分支,根據要做的內容不同而開,盡量細小且不重複為主

merge(feature的一種)

  1. 此為因測試環境下只有一套環境但是要測多個feature,上板又有可能會因情境的改變而臨時變化所產生的feature
    ::: info
    ex : 2023-01 要上feature 1 3 4 ,但是因為4沒好,因此要改上1 3 ,此時只要重拉1 3 merge即立刻可進行重新測試,而不會因為平常都有merge回dev而受4的影響

  2. 每一次ga後,這個merge即可刪除掉

  3. 此為階段性任務,也可能是整包性任務,比方說同時有十個RD做兩塊,第一merge區塊做A、第二merge區塊做B,可以隨時抽換讓測試人員進行測試
  4. merge範疇盡量是跨端溝通後決定範疇

    INFO: 比如說前端 後端各有三個功能,其中的兩個是屬於同一包的
    那就是前後各有一個merge是對應同樣功能的,另一個獨立
    最後再一個是全部統一的merge上dev好測試

ga(pro)

  1. 要往正式的版本,不管是環境、設定皆為正式資源,要檢查程式邏輯也以此branch為主,方向是併不可改
  2. 如要從此修正請開hotfix 版本
  3. hotfix 版本要修正的範圍不可過大,程式不可超過五行,或是超過五行但是是確定的邏輯

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *