2016-10-18 49 views
0

目標:我需要在我的GitHub託管的存儲庫分支上執行一個預先推送鉤子,這些分支有合作者,不幸的是我找不到一種方法來獲取該鉤子以找到我的協作者和我自己的協作者。 git/hooks目錄。有沒有辦法在GitHub上安裝git預先掛鉤?或變通辦法?

我花時間來研究這個問題,我已經遇到以下阻滯劑:

  • 沒有GitHub的服務器端掛鉤所以這不是一個選項。不使用GitHub Enterprise,我們使用託管版本。
  • 無法添加.git/hooks/pre-push,因爲.git是要跟蹤的非法目錄。 GitHub當然不會讓你創建該目錄,如果你嘗試在本地添加它,git會說它是一個無效的路徑。

大衆智慧希望我:推出不同目錄中的預推腳本,並請問我的合作伙伴符號鏈接它。沒有!我需要這個來自動填充。

我知道自己比git更瞭解我。我如何覆蓋保姆保護,所以我可以做我需要做的事情?模板有一些神奇嗎?編輯:或任何其他創意解決方案(服務,集成,webhooks,假設他們不需要設置服務器來回話!)。

+0

爲什麼在世界上這會得到downvoted?像'git pull和get fetch之間的區別是什麼'這樣的問題可以得到數以千計的upvotes? – Emmel

+1

不知道,這些問題似乎對我來說很好。如果你真的想要一個答案,你可以嘗試[meta](http://meta.stackoverflow.com/)。 – 1615903

回答

2

你不能用GitHub做到這一點。正如你已經注意到的,GitHub沒有服務器端鉤子,所以不會這樣做。而且爲了將腳本放入存儲庫中,可以自動爲其他用戶運行腳本,那麼這會帶來巨大的安全風險,而且顯然不可能使用git。

您可以嘗試切換到另一個允許服務器端掛接的託管解決方案,如GitLab

+0

到目前爲止,我只是將鉤子腳本添加到repo中,並使用setup.sh從.git /鉤子目錄創建符號鏈接到repo中的鉤子腳本。我會讓人們運行setup.sh。但是,使用更自動化的東西會更快樂,例如Github提供的一些服務鉤子。令人討厭的是他們需要你建立一個服務器來回話。 不幸的是,遷移到Gitlab並不是本組織的選擇。但對於未來的演出,我絕對不會推薦Github。 – Emmel

相關問題