使的.gitignore忽略TMP目录嵌套的文件夹

问题描述:

这是我的.gitignore文件使的.gitignore忽略TMP目录嵌套的文件夹

.bundle 
db/*.sqlite3* 
log/*.log 
*.log 
tmp/* 
doc/ 
*.swp 
*~ 
.project 
.DS_Store 
log/* 
Gemfile.lock 

那么,为什么它一直在说这样的事情:

# Changes not staged for commit: 
# modified: tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af 

即为什么不能忽略我的TMP DIR?由于文件和目录名称似乎是随机的,我不认为我可以明确地添加它们。

只需将tmp/自己放在一行上,而不是tmp/*

+0

谢谢。已经完成了,但它仍然告诉我关于tmp修改。我需要做任何事情来让git重读.gitignore文件吗?或者我需要从git中删除所有的tmp文件? – 2012-08-08 17:27:34

+2

请注意,它表示“更改未进行提交”,而不是“未跟踪文件”。这意味着该文件已被跟踪(至少已提交一次),因此'.gitignore'不适用。如果你不想跟踪那个文件,那就用'git rm'吧。 – twalberg 2012-08-08 18:04:19

+2

实际上,如果你只打算从你的git repo中删除文件,而不是全部删除它,你想运行'git rm --cached file'。 – 2012-08-24 16:06:43