2013-05-20 64 views
19

有沒有辦法讓git每次在某臺機器上運行git init時自動創建/填充.gitignore和.git/hooks文件夾中的某些文件?也許某個地方的全局配置?在git init上自動添加.gitignore和鉤子

我們有符號鏈接需要全盤忽略,以及需要爲每個repo設置的預接收和後接收掛鉤,因此這比每次都手動設置要容易得多。

謝謝。

回答

31

這可以使用一個Git模板目錄

git config --global init.templatedir /path/to/template 

然後,您可以將文件添加到文件夾/path/to/template/hooks實現,他們將被自動複製到.git/hooks文件夾git init

你可以將您想要的.gitignore內容放入文件夾exclude的文件/path/to/template/info。然後,它會有效地成爲.gitignore文件由git init

如果你是在UNIX上創建的所有新的倉庫,甚至有一個默認的模板目錄/usr/share/git-core/templates

+0

這真的很好 - 甚至符號鏈接:) –

2

.gitignore_global在您的主目錄中。如果該文件不存在,則創建它。 .gitignore文件的語法相同。要小心你在這個文件中的位置!

如果所有用戶都希望共享同一的.gitignore文件,你可以在

/.SHARED_GIT_IGNORE 

創建一個然後創建軟鏈接到它在每個相應用戶的主目錄。

/Users/ALL_USERS/.gitignore_global -> /.SHARED_GIT_IGNORE 
+0

所以,如果我們有10個開發人員,我們需要在.gitignore_global文件他們的每個主目錄?必須有辦法做一個真正的全球性的.gitignore ... – jraede

+1

有替代品,但我的意思是,難以設置10次?如果每個開發人員都想忽略不同的事情呢?爲什麼你會有10位開發人員共享一臺機器?或者,過分全球性的git忽略聽起來很危險。如果你一定要把所有的符號鏈接到文件系統中其他地方的同一個.gitignore_global,那麼你可以保留同樣被忽略的文件,而不必對它進行修改...... – ChrisCM

+0

我在想如果我們必須做出改變,但你是對的,它只有10個文件。 – jraede