gitignore中的异常

gitignore中的异常,git,gitignore,Git,Gitignore,如何将异常添加到.gitignore,例如“忽略所有.dll文件,但忽略myfile.dll”使用要取消模式,请执行以下操作: *.dll !myfile.dll 您也可以忽略文件夹如 !src/main/resources/archetype-resources/**/* !src/main/resources/archetype资源/**/* 您也可以忽略带有模式的嵌套文件夹,如 !**/src/test/resources/**/* !**/src/测试/资源/**/* 要快速创建.gi

如何将异常添加到.gitignore,例如“忽略所有.dll文件,但忽略myfile.dll”

使用
要取消模式,请执行以下操作:

*.dll
!myfile.dll

您也可以忽略文件夹

!src/main/resources/archetype-resources/**/* !src/main/resources/archetype资源/**/* 您也可以忽略带有模式的嵌套文件夹,如

!**/src/test/resources/**/* !**/src/测试/资源/**/*
要快速创建.gitignore文件,请尝试

如果要忽略整个文件夹(某些特定文件除外),请编写:

MyFolder/*
!MyFolder/CoolFile.txt
将不起作用:

MyFolder/
!MyFolder/CoolFile.txt

您可以让多个
.gitignore
文件以分层方式协同工作以实现您的目标。 在根级别,您可能有:

在包含
myfile.dll
的文件夹中,您可以添加另一个
.gitignore
文件,如下所示:

root/lib/folderwithMyFiledll

更多信息

可选前缀“!”否定模式;先前模式排除的任何匹配文件都将再次包含。对于以文字“!”开头的模式,请在第一个“!”前面加一个反斜杠(\”),例如“!important!.txt”。如果某个文件的父目录在满足某些条件的情况下被排除,则可以重新包含该文件。有关详细信息,请参见章节注释


我这样做是因为我有一个名为
/modules
的文件夹,我想忽略它,除了
/modules/custom
文件夹中的所有内容。这对我有用。现在,我的自定义模块将同步到GitHub

/modules/*
!/modules/custom/

请注意,这也扩展到了子目录。例如,这将起作用:
MyFolder/sub/*!MyFolder/sub/file.txt
但这不会:
MyFolder/*!MyFolder/sub/file.txt
原因-“如果某个文件的父目录被排除,则无法重新包含该文件。出于性能原因,Git不会列出排除的目录,因此包含的文件上的任何模式都不起作用,无论它们定义在何处。”[因此“出于性能原因”我必须手动输入21个不同的子文件夹,它们具有相同的名称,并且以前被一行忽略,这样我才能排除一个文件。您粘贴的文档片段似乎已过时。该网站当前声明,您不能在父目录下重新包含文件。这是唯一对我有效的方法。OMG谢谢,这正是我想做的,令人惊讶的是,为了找到这个答案,我必须筛选出多少垃圾答案。
!myfile.dll
/modules/*
!/modules/custom/