2010-03-10 107 views

回答

186

使用!否定模式:

*.dll 
!myfile.dll 
25

您也可以忽略文件夾

!src/main/resources/archetype-resources/**/*

你也可以忽略嵌套的文件夾模式

!**/src/test/resources/**/*
95

如果你要忽略整個文件夾,除了一些特定的文件,然後寫:

MyFolder/* 
!MyFolder/CoolFile.txt 

不會工作:

MyFolder/ 
!MyFolder/CoolFile.txt 
+9

感謝您揭示什麼是行不通的。這節省了一天。 – MigDus 2014-12-18 17:51:39

+0

@MigDus不客氣。 – cubuspl42 2014-12-18 17:58:39

+12

請注意,這也可以擴展到子目錄。例如,這將工作: 'MyFolder文件/子/ * MyFolder文件/子/ file.txt' 但這不會! 'MyFolder中/ * MyFolder文件/子/ file.txt' – ben 2015-01-14 15:39:50

3

你可以有幾個.gitignore文件一起工作以等級的方式來實現你的目標。 在根級別,你可以有:

*.dll 

文件夾內具有myfile.dll你可以添加其他.gitignore文件像這樣:

根/ lib目錄/ folderwithMyFiledll

!myfile.dll 

更多信息here

可選的前綴「!」否定了這種模式;任何先前模式排除的匹配文件將再次包含在內。在第一個「!」前放置一個反斜槓(「\」)對於以文字「!」開頭的模式,例如「!important!.txt」。如果在滿足某些條件的情況下排除該文件的父目錄,則可以重新包含文件。細節請參見注釋部分。