2012-03-03 189 views
10

是否可以限制某些git用戶在GitHub上合併git分支? 我想讓用戶提交,在當前分支上提交併推送更改,切換到另一個現有分支,但不允許合併分支。它可能在GitHub.com或獨立的git存儲庫上?限制某些GitHub用戶合併分支

回答

6

否。唯一防止這種情況的方法是git的內部預提交或更新掛鉤。這些鉤子在接受之前被調用。

GitHub本身不支持預先提交或更新掛鉤。僅支持Web鉤子。但是這些都是在推動之後被調用的。爲防止某些類型太遲了。

+1

s/ofter /之後/#編輯特權 – 2012-03-03 22:52:39

+0

已更改。謝謝。 – iltempo 2012-03-04 09:05:52

0

NO

你也許會想,是因爲Github上的上拉入請求「合併更改」按鈕。但這只是一個方便的事情。例如,如果存在衝突,該按鈕被禁用,您必須手動合併機器上的更改並將它們推送到Github。

因此,如果用戶可以將更改推送到分支,您將如何阻止他合併他計算機上的另一個分支並將其推送?由於Github afaik中沒有這種限制,因此您無法完成此操作。

哦,但你總是可以問你的用戶有禮貌地不合並分支機構;)。

+0

等等,git自己總是知道何時合併兩個不同的分支,並在日誌中對其進行重新檢測。我沒有看到在git中實現某種「merge-branches-permission」的理論上的理由。 是的,我同意這種限制很可能應該在git客戶端應用程序中實現,而不是在GitHub服務器上實現。 – HitOdessit 2012-03-03 11:33:57

+0

Git是一個分佈式源代碼控制系統。這意味着當您將任何回購機器克隆到您的機器時,您對該代碼擁有完全的權限。 Github僅充當託管服務。所以把客戶端的約束肯定會是錯誤的。我不確定這是如何成爲Github的一部分。 – Sailesh 2012-03-03 12:21:25

+0

這是Github Enterprise的一項功能嗎? – danielricecodes 2015-06-18 17:34:28

3

到位桶支持每個分支的權限,這將有助於你避免合併到你的分支。我錯過了github上的功能

4

如果您的存儲庫位於Github上的組織中,則可以將開發人員添加到讀取訪問團隊。這樣他們可以看到並檢出存儲庫,但不能提交。他們還可以分發存儲庫,這可以讓他們在他們的分支中執行他們的工作,然後提交pull請求以將他們的工作提交到主存儲庫。

然後,您可以授予只負責審閱和合並請求的某些開發人員的寫入權限。