簡體   English   中英

如何使用github webhooks阻止特定的推送?

[英]How to block specific pushes with github webhooks?

我試圖保護我的github repo免受某些特定推送(例如推送沖突標記,如<<<<< )。

起初,我嘗試編寫一個pre-commit git hook來阻止那些特定的提交。 然后實現github存儲庫不接受預提交掛鈎,我必須在客戶端為每個貢獻者安裝它們。

這不是一個簡潔的解決方案,因為有人可能忘記在克隆后安裝鈎子。 也可以覆蓋預提交掛鈎。

然后我了解了github webhooks 他們可以在推送存儲庫期間通過有效負載通知。

是否有可能通過webhook檢查和阻止推送?

Github不支持放置服務器端鈎子,因此您無法在遠程存儲庫上運行驗證。 但是在技術上可以作為一個hack,你可以在其中設置另一個中間登台存儲庫,其中包含你想要的所有這些鈎子,這是github之前的一種可寫鏡像。 人們將他們的更改推送到這個中間存儲庫,通過鈎子驗證它們並將相同的更改推送到github存儲庫。 恕我直言我會建議不要添加這樣的存儲庫,除非你的開發人員經常打破這樣的東西。

另一方面,如果你繼續這樣的實現,使用update鈎子而不是pre-commit,因為它為每個被推送的ref運行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM