我們有一箇中央Git倉庫,供開發人員從中獲取和推送更改。他們在默認主分支上進行更改。我們的持續集成(CI)工具在這個默認主分支上構建工件,並且是負責將我們想要測試的東西提升到「UAT」分支的實體(實際上,這是由構建主人單擊CI工具網頁將進行促銷)。 CI工具還負責將代碼從UAT推廣到「Production」分支。 UAT和生產部門的目的是捕捉升級到UAT和生產的內容。由於我們的開發/發佈迭代速度非常快(1周迭代),所以UAT分支上沒有發展,並且製作只包含「發展」形式的不常發生的「熱修復」。好的做法,從發佈的回購分離Git回購?
如果我們可以很容易地做到這一點,我們希望加入一個控制,以防止有人誤將UAT和生產分支直接更改爲開發版。一個想法是在中央服務器上掛鉤,以確保只有CI工具用戶可以對UAT和Production進行更改。我們也認爲我們可以有一箇中央回購,開發人員使用它只包含主分支,並有第二個回購包含UAT和生產分支。 CI工具將與兩個回購站溝通 - 它將查看回購的發展情況,以查看何時發生變化,並使用第二個回購協議將其升級爲UAT和生產分支。
這是人們通常會做的(爲了開發與升級的目的而分開回購?)它會比服務器掛鉤方式更好嗎?
+1,這可以很容易地通過工具,如[gitolite]完成(https://github.com/sitaramc/gitolite/ ) – che 2012-08-05 19:12:42