Windows 如何调试.git文件处理?

Windows 如何调试.git文件处理?,windows,git,Windows,Git,我很难说服git忽略我项目中的文件 基本上,有时它是有效的,有时它似乎没有明显的原因就忽略了.gitignore文件。我所说的“似乎”是指其中的一些模式看起来似乎应该排除某些东西,但某些东西并没有被排除 有一个“git check ignore”命令,但它只说明哪个模式与文件匹配。但我找不到任何选项来让它说出它找到了哪些模式和在哪里,也找不到为什么这些模式与文件不匹配 有没有办法进行这种调试 另外,我确实发现了一个问题,我在这里提到它,以防它对其他人有所帮助: 我是使用“echo pattern

我很难说服git忽略我项目中的文件

基本上,有时它是有效的,有时它似乎没有明显的原因就忽略了.gitignore文件。我所说的“似乎”是指其中的一些模式看起来似乎应该排除某些东西,但某些东西并没有被排除

有一个“git check ignore”命令,但它只说明哪个模式与文件匹配。但我找不到任何选项来让它说出它找到了哪些模式和在哪里,也找不到为什么这些模式与文件不匹配

有没有办法进行这种调试

另外,我确实发现了一个问题,我在这里提到它,以防它对其他人有所帮助:

我是使用“echo pattern>>.gitignore”添加模式的,这至少在我的系统中会导致行的末尾出现空格,即“echo”和“>>”之间的所有内容都会在文件中回显,除了“echo”之后的第一个空格字符

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

我想我的大部分问题都源于此。这些额外的空间很难被注意到,所以我仍然想要一个调试命令,确保我注意到它们(如果有)

编辑1: 是的,我试过了。例如:

> 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

请注意第一条回显行中的额外空间,这使它以模式形式输入“test[space]”。正如我提到的,“检查忽略”告诉你什么匹配,但它没有告诉你什么不匹配,也没有告诉你为什么。

你做过git检查忽略-v吗?VonC:是的,我做过。例如:>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 test/cuc.txt请注意额外echo行中的额外空间。很抱歉,我不知道如何放置换行符注释。注意:要忽略all文件夹,最好是touch test/>。gitignore training space of no training space您可能是对的,这只是一个简单的示例。当我不增加额外的空间时,它会满足我的要求。顺便问一下,你使用的是什么版本的git?