2011-12-16 66 views
0

我們正試圖使用​​git來管理多個發佈分支。我們的分支機構是典型的。初級持續開發是掌握的。主題分支用於工作併合併到主人。碩士是下一個主要版本。不過,我們也在製作臨時版本(點陣版本)。例如,當我們也在處理7.3.2時,master將會努力工作到7.4版本。如何管理髮布分支

當然,7.3.2所做的大部分(所有?)工作必須在7.4。大多數情況下,爲7.3.2版本分支完成的工作也必須針對主版本(即7.4版本)發佈分支完成。

你用什麼技術來管理這些分支?特別是確保將更改合併到兩個分支中?

我們的解決方案是創建並行主題分支。一旦某個主題在發佈分支中的一個或另一個上完成,它就會使用cherry-pickrebase --onto複製到另一個發佈分支的另一個主題分支,有時甚至可以使用手動比較和合並。

這個過程涵蓋了機制。其他人如何確保機制實際發生?你如何確認已經對(許多)發佈分支進行了更改?

感謝您的建議

回答

0

這取決於您期望的推動次數,但我們將我們的Git回購連接到Trac以及那裏的售票系統。我們已經爲Git編寫了一些自定義鉤子(我可以分享,如果您願意的話)可以強制提交消息以遵循特定格式,包括引用標籤。 Trac通過在票據上發佈提交消息來處理剩下的事情。沒有票據參考,推送被拒絕。所以絕對一切都必須有一張相關的票。

我們也有通過電子郵件發送給幾個人的票據更改。如果推送進入,並且只有一個分支也進入其他分支,則其中一個售票監視器(他們是OCD的高級開發人員)將會重新打開/糾纏推送人員,直到它顯示出所有人適當的分支機構。

提交最終在不同分支上的機制取決於開發人員。有些人喜歡櫻桃採摘,其他人採用重新裝訂,其他補丁。只要所有需要提交的分支都能得到它,我不在乎它如何到達那裏!