添加文件时为什么我的.gitignore文件无效?

时间:2017-10-05 18:59:16

标签: git gitlab

我正在考虑改用git(来自Perforce)。我正在向我的存储库初始添加文件,但由于某些原因,我的.gitignore文件未被使用。验证通过git status添加的文件时,我可以看到列出的文件应该被忽略。我必须遗漏一些非常基本的东西。

这是一个非常简化的目录结构,我正在测试:

d:/git/
    .git
    Test/
        test.suo
        bin/
            Debug/
                test.dll
    .gitignore

以下是我的.gitignore文件的相关部分:

**/*.suo
**/[Bb]in/Debug

添加我调用的文件时:

git add Test

然后我验证已添加的文件:

git status

这告诉我:

new file:   Test/bin/Debug/test.dll
new file:   Test/test.suo

我错过了什么?为什么要包含这些文件?

1 个答案:

答案 0 :(得分:2)

您最初使用PowerShell echo $null >> .gitignore创建文件是个问题。这是因为它不会创建一个完全空的文件(根本没有字节),而是在开头创建一个带有UTF-16 little-endian字节顺序标记(“BOM”)的文件。

the comments to this answer中所述,这与git等工具不相称,后者通常需要无BOM文件,通常采用UTF-8编码。

使用PowerShell创建一个空文件似乎是it's actually quite hacky