【发布时间】:2012-12-20 18:20:21
【问题描述】:
我在.gitignore 文件中添加了.gitignore 和另一个目录,但是当我git status 时,.gitignore 仍然出现!
我觉得我错过了一些非常明显的东西。
【问题讨论】:
我在.gitignore 文件中添加了.gitignore 和另一个目录,但是当我git status 时,.gitignore 仍然出现!
我觉得我错过了一些非常明显的东西。
【问题讨论】:
正如Carl Norum 指出的那样,不允许跟踪文件以被忽略。您将不得不致电
git rm --cached .gitignore
为了让它真正被忽略。
但是您尝试做的是一个非常糟糕的主意。应该跟踪 .gitignore 文件,因此可以确保其中列出的内容实际上在所有客户端计算机上都被忽略了。如果不是这样,另一个开发人员可能会在你想忽略的 repo 中添加一个文件,你会遇到麻烦。
即使运行上面的命令也可能会造成麻烦,因为它会为每个开发者删除该文件。
如果出于某种原因您只想忽略机器上的内容(并且您确信这是个好主意),您需要将其添加到 .git/info/exclude。该文件与.gitignore 具有相同的功能,但不应与其他开发人员共享。
【讨论】:
您的.gitignore 文件只会忽略未跟踪的文件。由于您可能正在跟踪您的 .gitignore 文件,您将在 git status 的输出中看到它的更改。
如果您想忽略某些内容但又不想签入,请将其添加到您的全局 git 忽略文件中,而不是签入到存储库中的那个。
【讨论】:
停止跟踪 .gitignore 文件:
How to stop tracking and ignore changes to a file in Git?
git rm --cached .gitignore
【讨论】:
可能是因为您过去已经添加了 .gitignore 文件。
请注意,git 不会忽略之前已跟踪的文件 规则已添加到此文件以忽略它。在这种情况下,文件必须 不被跟踪,通常使用
git rm --cached filename
【讨论】: