【发布时间】:2011-01-25 19:56:00
【问题描述】:
如何向 .gitignore 添加例外,例如“忽略所有 .dll 文件 BUT myfile.dll”?
【问题讨论】:
如何向 .gitignore 添加例外,例如“忽略所有 .dll 文件 BUT myfile.dll”?
【问题讨论】:
使用! 否定模式:
*.dll
!myfile.dll
【讨论】:
您也可以忽略
!src/main/resources/archetype-resources/**/*
您也可以忽略带有模式的嵌套文件夹,例如
!**/src/test/resources/**/*
如需快速创建 .gitignore 文件,请尝试gitignore.io
【讨论】:
如果你想忽略整个文件夹,除了一些特定的文件,那么写:
MyFolder/*
!MyFolder/CoolFile.txt
这不会工作:
MyFolder/
!MyFolder/CoolFile.txt
【讨论】:
MyFolder/sub/* !MyFolder/sub/file.txt 但这不会:MyFolder/* !MyFolder/sub/file.txt
您可以让多个.gitignore 文件以分层方式协同工作以实现您的目标。
在根级别,您可能有:
根
*.dll
在具有myfile.dll 的文件夹中,您可以添加另一个.gitignore 文件,如下所示:
root/lib/folderwithMyFiledll
!myfile.dll
更多信息here
可选前缀“!”这否定了模式;任何被先前模式排除的匹配文件都将再次包含在内。在第一个“!”前面放一个反斜杠(“\”)对于以文字“!”开头的模式,例如,“!important!.txt”。如果满足某些条件,则排除该文件的父目录,则可以重新包含该文件。有关详细信息,请参阅注释部分。
【讨论】:
我这样做是因为我有一个名为 /modules 的文件夹,我想忽略它,/modules/custom 文件夹中的所有内容除外。这对我有用。现在我的自定义模块将同步到 GitHub。
/modules/*
!/modules/custom/
【讨论】: