为什么git会添加所有文件,甚至包括.gitignore中指定的一些文件

时间:2015-03-16 17:59:19

标签: git

我对Git很好。目前正在学习如何在git中忽略文件。

我使用的命令历史记录:

mkdir testgit
cd testgit
git init
touch .gitignore
echo "./toignore.txt" >>.gitignore
touch toignore.txt
git add .
git status

然后,它显示:

On branch master

Initial commit

Changes to be committed:   (use "git rm --cached <file>..." to unstage)

        new file:   .gitignore
        new file:   toignore.txt

我想知道为什么git仍然能够将toignore.txt添加到舞台上。我怎么能忽略它?

由于

1 个答案:

答案 0 :(得分:2)

很容易看出一个明智的论点,即git&#34;应该&#34;将./前缀识别为无意义并简单地忽略它。这个论点是否应该带有这一天是另一个问题,事实是git有效地将git ls-files输出直接与你给它的模式相匹配,而不是它们可能解决的文件的规范化路径。修复很简单:使用文本匹配模式,而不是依赖于本地文件系统命名约定的模式。

有关完整规范,请参阅the gitignore docs