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
- 開發中的主要基底分支,main來,往merge(如果資源環境夠就不用這一個分支)去
- 通常是根據情境每一個feature就從這一個分支為基底去寫作,但是如有確定重大情事,可從這裡修正後往merge或是往ga走
feature
此為功能性分支,根據要做的內容不同而開,盡量細小且不重複為主
merge(feature的一種)
-
此為因測試環境下只有一套環境但是要測多個feature,上板又有可能會因情境的改變而臨時變化所產生的feature
::: info
ex : 2023-01 要上feature 1 3 4 ,但是因為4沒好,因此要改上1 3 ,此時只要重拉1 3 merge即立刻可進行重新測試,而不會因為平常都有merge回dev而受4的影響 -
每一次ga後,這個merge即可刪除掉
- 此為階段性任務,也可能是整包性任務,比方說同時有十個RD做兩塊,第一merge區塊做A、第二merge區塊做B,可以隨時抽換讓測試人員進行測試
- merge範疇盡量是跨端溝通後決定範疇
INFO: 比如說前端 後端各有三個功能,其中的兩個是屬於同一包的
那就是前後各有一個merge是對應同樣功能的,另一個獨立
最後再一個是全部統一的merge上dev好測試
ga(pro)
- 要往正式的版本,不管是環境、設定皆為正式資源,要檢查程式邏輯也以此branch為主,方向是併不可改
- 如要從此修正請開hotfix 版本
- hotfix 版本要修正的範圍不可過大,程式不可超過五行,或是超過五行但是是確定的邏輯
發佈留言