2012-08-07 91 views
17

不知道爲什麼這不起作用,因爲我已經完成了這個加載!也許我有一個糟糕的一天...gitignore - 只允許某些擴展名和文件

我用下面的代碼忽略除了某些文件名和擴展名

* 
!.gitattributes 
!.gitignore 
!readme.md 
!.gitkeep 
!*.php 

出於某種原因,所有的文件,其只允許我犯.gitignore和readme.md,即使我在子文件夾中有php文件等等。它有什麼不對嗎?只是fyi,我使用「git add -A」來提取要提交的文件。

在此先感謝!

回答

32

的解決方案是讓Git 不忽略子目錄

* 
!.gitattributes 
!.gitignore 
!readme.md 
!.gitkeep 
!*.php 
!*/ 

否則只有*.php文件中的第一個目錄級別將被接受,所有子目錄都將被忽略。

+0

不知道爲什麼我從來沒有過這樣做,但現在的偉大工程。謝謝! – jleck 2012-08-07 20:04:27

+0

使用*。*。在頂部有一個*會排除子目錄中的任何* .php文件。這個答案是不正確的。 – 2017-12-09 20:15:51

3

最複雜的方法來實現這一

創建.gitignore文件庫root,以下行添加到.gitignore文件

*.* 
!.gitattributes 
!.gitignore 
!readme.md 
!.gitkeep 
!*.php 

這將包括從目錄和子目錄中的所有指定的文件遞歸。

Git版本測試2.12.2.windows.2

+1

我喜歡這個答案比接受的更好,因爲它的作用超出了遞歸的一個級別 – Magnus 2017-05-22 16:53:38