2017-06-23 59 views
0

我有一个.gitignore文件,其中我忽略了所有内容,然后取消忽略特定的文件和目录。然而,它的一部分似乎并不奏效。.gitignore un-ignore .cc文件

/* 

!.gitignore 
!Makefile 
!include/ 
!src/ 
!test/*.cc 

**.swp 

*.cc文件在test目录不会出现在git status

+0

[这个问题](https://stackoverflow.com/questions/10712555/gitignore-all-files-of-extension-in-directory)似乎热衷于为你创建一个'.gitignore'您特定的子文件夹。 –

+0

@TimBiegeleisen,我用'* .cc'制作了'test/.gitignore',但结果完全一样。 – SU3

+0

你使用的是什么版本的Git? –

回答

2

/*规则会导致test目录被忽略,所以git根本不会下降到它。因此您的!test/*.cc规则不起作用。

你需要交替和重叠的这样的规则的序列:不顾一切,然后取消忽略test,然后不顾一切test下,然后取消忽略内test.cc文件。

/* 
!test 
test/* 
!test/*.cc 
+0

我想一个目录不会出现在没有它的情况下无法匹配的模式。 – SU3