我們使用三個主要分支的Git開發,測試&掌握裸倉庫。密碼保護主存儲庫
我們有很多開發環境都有git倉庫。每個人都創建了開發分支,並在該分支上工作,並將他們的代碼推送到開發分支的裸倉庫中。
同時,我們希望限制開發人員將他們的代碼從他們的開發分支推送到測試&主分支。
有什麼辦法通過使用密碼來保護裸存儲分支。
我們使用三個主要分支的Git開發,測試&掌握裸倉庫。密碼保護主存儲庫
我們有很多開發環境都有git倉庫。每個人都創建了開發分支,並在該分支上工作,並將他們的代碼推送到開發分支的裸倉庫中。
同時,我們希望限制開發人員將他們的代碼從他們的開發分支推送到測試&主分支。
有什麼辦法通過使用密碼來保護裸存儲分支。
如果您使用linux來託管存儲庫,我強烈建議使用gitolite。
Gitolite允許您爲每個用戶或用戶組指定他們可以推送到哪些分支等等。
Gitolite是在將要託管多個git倉庫,每個許多開發商,其中,「任何人都可以做任何事情,任何回購」任何服務器有用的是不是一個好主意。這裏有兩個例子來說明。
它使用SSH密鑰來識別用戶,並根據這決定什麼是允許或不允許。
或者你變成一個分佈式的基於拉的方法:
而不是每個隊員,他們有自己的倉庫的一個分支;可以通過寫入訪問所有內容。
而不是一個只讀主分支有一個主存儲庫,只有選定的一組維護者有寫權限。每當你想從開發迴歸合併到main-repo時,他們都必須通知維護人員並讓他們這樣做。
我也建議使用gitolite或Gitosis來輕鬆地管理存儲庫(我自己只使用Gitosis,這是一個微風建立和維護)。
您無法使用「僅限git」密碼保護特定分支。這是所有的權限,或沒有。
您可以使用gitolite,它非常適合處理權限,正如Ikke所說。
另一種更「手工製造」的方法是在遠程裸倉庫(hooks/post-receive)中使用預接收鉤子來詢問密碼。
你可以用一個簡單的shell腳本來做到這一點,或者使用你想要的任何語言。
我第二個這個。 Gitolite易於安裝並且工作得很好。 – jszakmeister 2013-03-27 10:05:20