我們有很多開發人員在Git的項目中工作。現在我們在不同的分支上開發,並在這些分支上進行測試。 問題是,當我們整合這些分支回到掌握一些新的問題蠕變的原因是:如何管理版本以儘量減少集成問題?
- 合併和解決衝突的問題。
- 這聽起來很遙遠,但經常發生一個分支中發現的錯誤可能已被另一分支中完成的測試覆蓋範圍所捕獲。所以它可以避免。
- 在我們的設置中,主分支始終可供用戶進行beta測試。由於我們在發佈週期的相當晚的時候將其重新集成到主機中,因此我們沒有獲得足夠的beta測試覆蓋率
最近我們曾嘗試:
一旦一個新的分支在主合併我們把它合併到各個分支試圖保持分支機構密切掌握越好。這最大限度地減少,但並沒有解決,因爲這兩個原因的問題 -
它可能已經導致了問題的一個分支實際上是合併的最後一天發佈或更新的週期。
自從它在合併週期很晚以來,越野車的分支也沒有得到任何測試覆蓋率(主是beta測試分支)。
我們遵循什麼最佳實踐來最大限度地減少此問題?我有這個解決方案 -
- 我們在發佈週期的開始創建下一個「發佈」分支。因此,我們週一在星期五是發佈日期時創建發佈分支。
- 我們完成了單個分支機構的測試,併合並所有要在此「發佈」分支中發佈的更改。
- 我們給這個「發佈」分支進行beta測試,並繼續在這個分支上進行集成測試。
- 如果一切都很好,我們從這個分支合併回主人。所以我們維護一個發佈分支和主。
這會將發佈時間延遲我們決定進行集成測試的天數,但似乎更有紀律。 由於這個問題並不新鮮,請給出您的建議或者指出我對這方面最佳做法的正確看法。
感謝。對於第3點),我也反對用太多的發佈分支淹沒系統的想法。我認爲我們應該只維護一個發佈分支和一個主控(在問題中編輯)以最小化開銷。無論如何,目前有人需要將事情歸還給主,所以另一個發佈分支可能聽起來不太過分。 – user2645830
同樣在GIT中,合併衝突在提出拉取請求時解析,而在實際合併時不合並,所以它沒有太多開銷。 – user2645830