gitignore中的异常
如何将异常添加到.gitignore,例如“忽略所有.dll文件,但忽略myfile.dll”使用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
要取消模式,请执行以下操作:
*.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/