如何调试.gitignore文件处理?

时间:2014-04-29 10:34:57

标签: windows git

我在说服git忽略项目中的文件时遇到了很多麻烦。

基本上,有时它可以工作,有时只是似乎忽略.gitignore文件没有明显的原因。 (“似乎”我的意思是说它中有些模式看起来好像应该排除某些东西,但不排除某些东西。)

有一个'git check-ignore'命令,但它只说明哪个模式与文件匹配。但是我找不到任何选项来说明它找到了哪些模式以及它们在哪里,以及为什么这些模式匹配文件。

有没有办法进行这种调试?

P.S。我确实找到了一个问题,我在这里提到它以防其他人:

我使用“echo pattern >> .gitignore”添加模式,至少在我的系统上会产生空格(即“echo”和“>>”之间的所有内容在文件中回显,除了“echo”之后的第一个空格字符。

Git在匹配模式时修剪这些空格,因此对于上面的命令,它与名为“pattern”的文件不匹配,但它匹配“pattern{space}

我认为我的大多数问题源于此。那些额外的空间很难被注意到,所以我仍然喜欢一个调试命令,确保我注意到它们,如果有的话。

编辑#1: 是的,我确实试过-v。例如:

> mkdir test
> touch test/file.txt
> echo test >> .gitignore
> git check-ignore -v test/file.txt

(没有打印)

> echo test>> .gitignore
> git check-ignore -v test/cuc.txt
.gitignore:8:test       test/cuc.txt

注意第一个echo行中的额外空格,这使得它作为模式输入“test [space]”。正如我所提到的,“check-ignore”告诉你匹配的是什么,但它并没有告诉你什么没有,为什么。

0 个答案:

没有答案