我聽說我可以保護分支并設定一些規則來允許用戶推送他們的代碼,但我看不到我想要什么。
我想要的是當我設定一些代碼約定時,如果用戶沒有遵循它,用戶的代碼將不會被推送(帶有一些警告或警告他沒有遵循約定的代碼部分)。
使用的主要語言將是 python,但將來會包含更多語言。
uj5u.com熱心網友回復:
答案是也許。連接的服務器端可以運行一個pre-receive鉤子來檢查被推送的內容并接受或拒絕它。但是,GitHub 僅支持pre-receiveGitHub Enterprise Server(這是本地解決方案)上的自定義掛鉤,而不支持 github.com。即使在 GHES 中,超時也被限制為 5 秒,這可能不足以完全整理您的代碼。
處理此問題的典型方法是在 CI 中添加檢查,如果樣式不合適或不滿足其他策略(例如,缺少尾隨空格)則該檢查失敗。這將允許推送,但它會阻止合并失敗的拉取請求。
請注意,在客戶端使用pre-pushorpre-commit鉤子不是一個好主意,因為它們可以在沒有任何證據的情況下被輕易繞過。因此,它們不是有效的控制,不應用于此目的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/380588.html
上一篇:默認鏡像倉庫
