[英]Git pre-merge hooks?
對於我的存儲庫,我使用的是Git和Stash。 在Stash端,我限制(只讀)訪問master,這樣任何用戶都可以分支主分支的功能/分支,但不能直接合並到master,除非通過Pull請求完成。
但作為用戶,我可能會意外地將我的功能分支合並到主分支並嘗試推送主分支。
好處是,推送是不被允許的並且受Stash的限制,但我想知道是否有一種方法可以限制用戶在一些鈎子的幫助下在本地將任何分支合並到主服務器。
我正在嘗試預提交鈎子,它們很棒,我想知道是否有類似的東西,比如預合並鈎子。
我想知道是否有一種方法可以限制用戶在一些鈎子的幫助下本地將任何分支合並到主服務器。
Ex-Stash開發人員(不重要)。
正如@Zeeker所提到的,您需要讓每個開發人員向其本地存儲庫添加掛鈎。 事實上,情況比這更糟糕。 假設您執行以下操作:
git checkout -b this-is-not-master
...
git commit -m "This is not on master"
但是你這樣做:
git push origin this-is-not-master:master
那個用戶在什么時候“上” master
? 基本上你不能這樣做 - 本地分支與遠程分支無關 ,除了有時我們共享相同的名稱很方便。 如果你需要/想要限制這些東西,我會堅持為Stash添加鈎子。
您可以為此編寫預提交或預推鈎。 我更喜歡預推,因為您可以使用提交將功能分支合並到本地的master中,並在pull請求之前測試集成更改。
要創建預推鈎,您可以要求開發人員在每次克隆存儲庫時都創建一個預推鈎,這是一個非常重復的任務。 相反,創建一個可以在安裝git二進制文件的鈎子目錄中創建一個預推鈎,這將確保開發人員始終獲取鈎子,而不管他們克隆或初始化存儲庫的次數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.