我想限制只有幾個開發人員的主分支的寫訪問,同時允許其他人拉動所有內容並推送到其他非主分支。想法是,開發人員會推送到其他分支,然後如果代碼通過審查,審查人員會將其合併到主分支。如何編寫一個git鉤子來限制寫入分支?
我敢肯定,這可以很容易地用git commit hook完成,但我不知道python,這看起來像是一個普通的問題,有人必須已經寫好了。你知道我在哪裏可以找到這樣的劇本嗎?或者如果你有一個人躺在這裏,請貼在這裏,對於像我這樣的懶惰的人。
我想限制只有幾個開發人員的主分支的寫訪問,同時允許其他人拉動所有內容並推送到其他非主分支。想法是,開發人員會推送到其他分支,然後如果代碼通過審查,審查人員會將其合併到主分支。如何編寫一個git鉤子來限制寫入分支?
我敢肯定,這可以很容易地用git commit hook完成,但我不知道python,這看起來像是一個普通的問題,有人必須已經寫好了。你知道我在哪裏可以找到這樣的劇本嗎?或者如果你有一個人躺在這裏,請貼在這裏,對於像我這樣的懶惰的人。
我認爲可以使用這樣的腳本,但它不是權利管理的正確位置,它應該在git服務器端完成。例如,在gitosis中,您可以在gitosis.conf文件中的gitosis-admin存儲庫中執行此配置。
由鉤子管理的安全性很容易被破壞,只有服務器可以跟蹤這些事情,請檢查服務器的文檔以瞭解如何限制訪問的詳細信息。
根據您的要求:「如果代碼通過審查,審查人員會將其合併到主分支。」
您可以嘗試Gerrit Code Review:http://code.google.com/p/gerrit/
正確。預提交鉤子沒有任何好處 - 每個開發人員的存儲庫都是他們自己的。你不能讓他們做任何他們不想做的事。但是,中央服務器可以是您的強制執行策略。是的,git服務器管理軟件(gitosis,gitolite)可以爲你做到這一點。 – Cascabel 2010-11-06 20:28:22
當然,我的意思是在中央存儲庫服務器上提交掛鉤,而不是本地機器。但gitolite似乎是我在尋找,所以謝謝。對於未來的訪問者:http://progit.org/book/ch4-8.html – 2010-11-07 11:43:30