从git存储库中删除被忽略的文件

从git存储库中删除被忽略的文件,git,Git,以下是我的建议: /.bundle *.pid *.sock dump.rdb Gemfile.lock db/*.sqlite3 log/*.log tmp/**/* private/** tmp/cache/** *.zip *.log .DS_Store .DS_Store? 但我只是运行了git status 以及: #修改:tmp/cache/assets/development/sprockets/ #修改:tmp/cache/assets/development/spro

以下是我的建议:

/.bundle

*.pid
*.sock
dump.rdb
Gemfile.lock

db/*.sqlite3
log/*.log
tmp/**/*
private/**
tmp/cache/**

*.zip
*.log

.DS_Store
.DS_Store?
但我只是运行了
git status

以及:

#修改:tmp/cache/assets/development/sprockets/
#修改:tmp/cache/assets/development/sprockets/
#修改:tmp/cache/assets/development/sprockets/
#修改:tmp/cache/assets/development/sprockets/
#修改:tmp/cache/assets/development/sprockets/
#修改:tmp/cache/assets/development/sprockets/
但是我忽略了
tmp/***
甚至
tmp/cache/***


我已经为所有这些文件运行了大约一百万次
gitrm--cachedtmp/cache/assets/development/sprockets/
,但它们仍然会出现。这是为什么?

我不确定您的环境是如何设置的,但在我的环境中,我遇到了类似的问题,我不得不删除生产环境和开发环境中的缓存。我建议您尝试使用此命令而不是rm--cached,这将更新索引并声明文件可能未更改,因此不要在repo中更新它,这在多人处理同一repo/文件时尤其有用

git update-index --assume-unchanged /path/to/file
您还可以尝试使用以下方法取消对整个缓存目录的跟踪:

git rm -r --cached /tmp/cache/
希望这有帮助

git rm -r --cached /tmp/cache/