gitignore - 忽略除指定文件类型之外的所有文件类型

时间:2015-10-05 13:55:09

标签: git gitignore

我只想提交扩展名为.fmb.fmx.pll的文件,但我无法配置.gitignore文件来实现此目的。

我尝试了以下内容:

!.fmb
!.fmx
!.pll

以及:

!*.fmb
!*.fmx
!*.pll

但它没有用。

2 个答案:

答案 0 :(得分:6)

在你的gitignore文件中试试这个 -

* !*.fmb !*.fmx !*.pll

您需要先忽略所有内容,然后将文件列入白名单。

答案 1 :(得分:4)

处理gitignore规则时唯一要记住的规则是:

It is not possible to re-include a file if a parent directory of that file is excluded*
*:除非在git 2.?+中满足某些条件,请参见下文)

由于“*”也会忽略文件夹,因此任何文件排除规则都无效。

尝试:

*
!*/
!*.fmb
!*.fmx
!*.pll

这将正确取消忽略文件夹(!*/),并允许下一个排除规则处理文件。

请注意,使用git 2.9.x / 2.10(2016年中期?),如果排除该文件的父目录if there is no wildcard in the path re-included,则可能会重新包含文件。

Nguyễn Thái Ngọc Duy (pclouds)正在尝试添加此功能:

然而,由于重新加入的条件之一是:

  

重新包含规则中的目录部分必须是文字(即没有通配符)

无论如何,这不会有效。