2012-09-01 174 views
3

我需要鎖定一個git倉庫的主分支。我嘗試了預提交鉤子,但它們只是客戶端鉤子,但我想鎖定大多數用戶的主分支。任何人都可以告訴我預先接收git鉤子(我使用github)或任何更好的方式來鎖定主的步驟?如何鎖定git repos master分支?

PS:我們的授權版github不支持gitolite。

+0

[有沒有辦法在GIT中鎖定分支](http://stackoverflow.com/questions/2471340/is-there-a-way-to-lock-a-branch-in-git ) –

+0

因爲主人也是一個分支,所以這看起來像是另一個人的愚蠢。 –

+0

@MichaelDurrant這裏提供的解決方案不會爲我工作,因爲:我們的github版本不支持gitolite。預提交鉤子是一個客戶端鉤子(不能請求每個用戶添加此鉤子)。而我正在尋找一個服務器端鉤子。 – user1640789

回答

2

許可GitHub的意思是「GitHub:enterprise」,這也意味着,如文章「Migrating from GitHub:FI」中解釋:沒有自定義掛鉤允許
(請參見「How can I add a custom git hook to a GitHub Enterprise repo?」)

所以我會不同的方法處理這一點,並維持在該服務器上沒有一個回購協議,但有兩個回購(第二個是第一個克隆)。

每個人都可以推到第一個,但只有選定的用戶可以推到第二個,這允許他/她從第一個回購中選擇什麼有資格被推到第二個。
因此'repo2'以某種方式代表您的'master','repo1'代表所有其他用戶可以推送到的其他分支。
這與GitHub gist article有些類似。

我建議將發佈工程團隊分成他們自己的組織
開發人員必須分配駐留在發佈工程團隊中的所有存儲庫。
開發人員可以在其組織內承諾master
他們必須發送拉取請求才能將其提交到release_engineering組織。

注意:花費一些時間才能說服客戶承諾致acme_developers/foobarmaster分支不同於承諾acme_release_engineering/foobamaster分支。

+0

謝謝,專家進一步的講話也提出了同樣簡單的解決方案。 – user1640789

1

簡單的解決方案可能是克隆和主辦gitolite或支持分支鎖定一些其他的系統,並設置一個post-commit鉤子庫鏡像到您當前的github倉庫,如果你打算讓周圍。我們目前正在用github克隆來做到這一點。

相關問題