.gitignore似乎没有生效

时间:2011-01-10 00:48:03

标签: gitignore

我想让git忽略名为“Doxyfile”的文件,我添加了一个.gitignore文件,但它仍然尝试 跟踪文件。

我在下面添加了我的步骤,我错过了一步?

$ ls -a
  .git  .gitignore  README

$ cat .gitignore
  .DS_Store
  Doxyfile
  *~

$ touch Doxyfile

$ ls
  Doxyfile  README

$ git status -s
  ?? Doxyfile

4 个答案:

答案 0 :(得分:1)

我唯一能想到的是你的.gitignore中“Doxyfile”行的末尾有一个额外的空格,这会导致这个。

答案 1 :(得分:1)

这可能是一个非常简单的错字。

确保.gitignore中的文件名之前和之后都没有空格。添加空格将破坏预期的行为。

在这里,我遇到了类似的问题,因为我错过了配置变量中间的's': Why doesn't my global .gitignore file ignore?

检查并仔细检查所涉及的所有文件名。

答案 2 :(得分:0)

也许Doxyfile已经被添加到了repo中,即使它在你运行ls时不存在于本地?如果是这样,首先备份它,然后git rm Doxyfile并确保它在你的.gitignore中。承诺这一改变。然后将文件移回到repo的文件夹中,这次应该被git忽略。

答案 3 :(得分:0)

如果您达到了git用法的高级水平,可以了解它的工作原理,并且认为它应该忽略文件而不能忽略文件,则只需要以下三个命令:

git rm -r --cached .
git add . 
git commit -m '.gitignore synchronised'

这完成了从索引中删除所有内容的所有必要步骤,再次添加了所有内容。但是,当添加git时始终会查找.gitignore文件,此时,其中提到的所有内容都不会添加到索引中。

.gitignore现在可以完成您期望的操作