.gitignore 只对「还没被 Git 追踪的文件」生效
已经进仓库的文件,必须先从 Git 的索引里移除一次。


正确做法(推荐)

1️⃣ 确认 .gitignore 已写好

比如你要忽略:

config.yaml

.gitignore 里有:

config.yaml

2️⃣ 从 Git 索引中移除(不删除本地文件)

git rm --cached config.yaml

⚠️ 注意是 --cached,否则会把你本地文件删掉。

如果是目录:

git rm -r --cached logs/

3️⃣ 提交这次修改

git commit -m "stop tracking config.yaml"

4️⃣ 以后这个文件就真正被忽略了 🎉

  • 本地还在
  • Git 不再跟踪
  • 不会再被提交

如果你要一次性处理很多已被追踪的文件

比如你刚补全了 .gitignore,想让它全部生效

git rm -r --cached .
git add .
git commit -m "apply .gitignore"

⚠️ 这一步会让 Git 重新计算所有跟踪文件,适合:

  • 刚整理 .gitignore
  • 或仓库还不算特别大

常见误区 ❌

❌ 我已经加到 .gitignore,为什么还会被提交?

因为它 之前已经被 Git 追踪过

❌ 直接删文件再加 .gitignore

可以,但容易误删本地重要文件,不推荐


快速自检命令

看看文件是不是还被 Git 跟踪:

git status

或者:

git ls-files | grep config.yaml
作者:admin  创建时间:2025-12-26 10:16
最后编辑:admin  更新时间:2025-12-26 10:17