2014-11-04 195 views
0

我想創建一個「預分支」掛鉤,阻止用戶創建一個名稱與給定的正則表達式匹配的分支,如果另一個分支已經存在一個名稱與該表達式匹配的分支。git「pre-branch」鉤子可能嗎?

理想情況下,這可以在本地託管,並在用戶觸及遠程回購之前觸發,但我願意接受任何方法,以防止在遠程創建具有不需要名稱的分支(預推或預先 - 接收鉤可能?)

只是移動到混帳,所以請把我的git鉤子的知識視爲非常新手。

謝謝!

回答

2

在當地做這件事並不可取 - 開發人員在自己的回購中做的純粹是他自己的事情。

您可以安裝一個服務器端掛鉤,用於檢查正在推送的引用的名稱。 this example中的第一個腳本顯示瞭如何獲取引用名稱。

如果開發人員想使用任何名稱,他可以這樣做 - 然後,如果它試圖推送一個錯誤的名稱,他仍然可以使用git push <remote> <localref>:<remoteref>表示法將其更改爲任何其他名稱,如git push origin badly_named:ok_named中所述。

+0

感謝您的迴應!在我以這種方式繼續並實施之前,我只想通過您運行實際問題來了解您是否有任何想法。具體的問題是包含更改的發佈分支沒有被帶回到我們的開發分支。最初的想法是,我們可以創建一個鉤子,在創建名稱與另一個遠程分支相似的分支時觸發。這樣,我們只需要發佈分支使用相同的命名風格,然後dev將被迫刪除分支,促使他在任何更改中合併。 – mgoldman 2014-11-11 22:31:58

+0

另一個想法是有一個永久發佈分支。缺點是我們的發佈分支可能包含代碼不在我們的開發分支中。思考? – mgoldman 2014-11-11 22:36:37

+0

你可能已經看到它,但它是如此之好,你永遠不會忽略它:http://nvie.com/posts/a-successful-git-branching-model/ – mgarciaisaia 2014-11-12 04:12:32