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

Chr*_*yne 3 git

这是我的 .gitignore 文件

.bundle
db/*.sqlite3*
log/*.log
*.log
tmp/*
doc/
*.swp
*~
.project
.DS_Store
log/*
Gemfile.lock
Run Code Online (Sandbox Code Playgroud)

那么为什么它总是说这样的话:

# Changes not staged for commit:
#   modified:   tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
Run Code Online (Sandbox Code Playgroud)

即为什么它不忽略我的 tmp 目录?由于文件和目录名称似乎是随机的,我不认为我可以显式添加它们。

Gra*_*rks 8

只是tmp/单独放一条线,而不是tmp/*

  • 请注意,它说的是“未暂存提交的更改”,而不是“未跟踪的文件”。这意味着该文件已经被跟踪(它至少已提交一次),因此“.gitignore”不适用。如果您不想跟踪该文件,请使用“git rm”。 (2认同)
  • 实际上,如果您只想从 git 存储库中删除文件而不是一起删除它,则需要运行“git rm --cached file”。 (2认同)