我有一个已经初始化的Git存储库,我添加了一个.gitignore文件。我如何刷新文件索引,以便忽略我想要忽略的文件?


当前回答

没有一个答案对我有效。

相反:

将文件移出git控制的目录检查git中的删除将文件移回git控制的目录

将文件移回后,git将忽略它。也适用于目录!

其他回答

如果需要停止跟踪大量被忽略的文件,可以组合一些命令:

git ls files-i--排除标准|xargs-L1 git rm--缓存

这将停止跟踪被忽略的文件。如果您想从文件系统中删除文件,请不要使用--cached选项。您还可以指定文件夹来限制搜索,例如:

git-ls文件-i--排除标准--${FOLDER}| xargs-L1 git rm

如果您想停止跟踪文件而不从本地系统中删除文件,我更喜欢忽略config/database.yml文件。只需尝试:

git rm --cached config/database.yml
# this will delete your file from git history but not from your local system.

现在,将此文件添加到.gitignore文件并提交更改。从现在起,git不会跟踪对config/database.yml所做的任何更改。

$ echo config/database.yml >> .gitignore

谢谢

我发现了一个奇怪的问题。gitignore。一切都很到位,看起来很正确。我的.gitignore被“忽略”的唯一原因是,行结尾是Mac格式(\r)。因此,在保存了具有正确行结尾的文件(在vi中使用:set ff=unix)之后,一切都变得非常迷人!

删除.gitignore中的尾随空格

另外,确保你的.gitignore中没有尾随空格。我遇到这个问题是因为我在寻找答案,然后我有一种有趣的感觉,我应该打开编辑器,而不是只键入.gitignore.从结尾处删除一个多余的空格,然后现在就开始工作了:)

如果文件已经在版本控制中,则需要手动删除它们。