我們在我們的項目中使用自定義編寫的Git鉤子。Git掛鉤管理
掛鉤存儲在項目的存儲庫中,當它們發生更改時,要獲取新版本,每個用戶都必須手動將它們複製到.git/hooks目錄中。這很不方便。
改進這種方法的一種方法是使.git /掛鉤到工作樹的符號鏈接。但是這意味着每個分支(即使用戶的本地功能分支正在開發中)都應該具有最新版本的鉤子。這也不方便。
你會如何解決這個問題?
我們在我們的項目中使用自定義編寫的Git鉤子。Git掛鉤管理
掛鉤存儲在項目的存儲庫中,當它們發生更改時,要獲取新版本,每個用戶都必須手動將它們複製到.git/hooks目錄中。這很不方便。
改進這種方法的一種方法是使.git /掛鉤到工作樹的符號鏈接。但是這意味着每個分支(即使用戶的本地功能分支正在開發中)都應該具有最新版本的鉤子。這也不方便。
你會如何解決這個問題?
維護一個獨立的鉤子和符號鏈接庫。
我同意,如果Git有一個內置的傳播鉤子腳本的機制,但它不會。
我們讓.git /掛鉤了一個符號鏈接到工作樹中。
對於那些極少數情況下,當有人需要提交的文件,該鉤子會拒絕,我們使用git commit --no-verify
git commit --no-verify是危險的。當你有不好的承諾時很難重新分配。 – 2010-01-12 23:04:53
@Alexander,git rebase也將採用--no-verify標誌。 – 2010-01-12 23:19:33
謝謝,我錯過了。還是......黑客。 :-) – 2010-01-13 08:47:50
http://benjamin-meyer.blogspot.com/2010/06/managing-project-user-and-global-git.html似乎是一種方便的方式來自動掛機符號鏈接,以促進全球,每個用戶和每個項目掛鉤。
這個github看起來有些不活躍,但'https:// github.com/git-hooks/git-hooks'上有一個更活躍的分支。 – jelford 2014-08-24 11:32:37
你可以做倉庫的.git
目錄的倉庫,並且只需添加鉤等配置它,加入objects
,refs
等的目錄和文件,如index
其.gitignore
。不僅如此,還可以設置一個post-receive鉤子來更新metarepo的來源。一旦你完成了初始配置,你就可以在不需要額外努力的情況下進行更新。
我正在研究這個細節,比如忽略列表中的內容;我將結果保存在this repo的分支中。
在Git 2.9中,您可以使用core.hooksPath
配置指向自定義掛鉤目錄。
的Git 2.9版本說明 - https://github.com/blog/2188-git-2-9-has-been-released
文檔提core.hooksPath
- https://git-scm.com/docs/githooks
注意 - 這個問題的Can Git hook scripts be managed along with the repository?
可能重複對於基於的NodeJS項目,我建議你考慮看看ghooks。
當然,這是一個選項,但這是早上更新的一個存儲庫...對於每個開發人員。猜猜我需要更多的自動化... – 2010-01-12 23:02:29