我正在將我的源代碼從TFVC土地遷移到Git,我想現在是時候清理並正確地做 - 現在有很多複製/粘貼繼續。用一個理想的Git分支策略爲一個簡單的白色標籤解決方案奮鬥
我的項目有一個'主要'解決方案 - 如果您願意,我們將其視爲黃金標準。但是,我的項目適用於不同的業務,兩者之間有內容差異,有些包含彼此不同的深奧業務邏輯(我認爲這是一種相對鬆散耦合的方式)。
我不知道維持「主」構建和不同版本的最佳策略。
我是否爲每個版本創建了一個有多個分支的存儲庫,還是將它們分成不同的存儲庫(但顯然我無法合併新代碼,因此這不太理想)。
我跟了過去,「釋放隔離」戰略:
F1 ------
|--MASTER----------------
F2 ------ |---v1.4 |---v2.0
| |
|--HF1 |--E1
很抱歉的可怕的視覺,但法師是我的部署將來自,F1/2將是功能,V1.4 /v2.0是我們需要支持的版本,HF1是支持該版本的修補程序,而E1則是增強版本。
任何修補程序都會合並回Master,當Master充滿足夠的新功能並經過測試時,我們將創建一個新版本(v3.0)。
的問題是,我不知道該如何進行模型適應我的白色標籤
F1 ------
|--MASTER(main client)----------------
F2 ------ |---client2 |---client3
| |
|----v1.0 |
| |--E1 |--v1.1
|----v2.0 |----HF1
我不知道這是不是足夠穩定。
如果我有一個遍歷所有構建的功能,我可以從Master的左側開始,並推送到每個版本的新版本,並協調任何合併問題。
如果我有一個bug(即HF1),那麼我將不得不跨越分支的大量合併它(當然,至少支持的版本和開發/主分支機構)
這是理想的還是我完全錯誤的方式?