239

如何向 .gitignore 添加例外,例如“忽略所有 .dll 文件myfile.dll”?

4

5 回答 5

320

用于!否定模式:

*.dll
!myfile.dll
于 2010-03-10T09:55:15.190 回答
208

如果你想忽略整个文件夹,除了一些特定的文件,然后写:

MyFolder/*
!MyFolder/CoolFile.txt

不起作用

MyFolder/
!MyFolder/CoolFile.txt
于 2013-12-22T16:16:35.693 回答
42

您也可以忽略文件夹,例如

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

你也可以忽略嵌套文件夹,

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

要快速创建 .gitignore 文件,请尝试gitignore.io

于 2012-02-29T07:01:31.970 回答
9

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

*.dll

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

root/lib/folderwithMyFiledll

!myfile.dll

更多信息在这里

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

于 2016-01-18T21:37:42.257 回答
7

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

/modules/*
!/modules/custom/
于 2019-09-09T18:42:37.740 回答