数码知识屋
霓虹主题四 · 更硬核的阅读氛围

提交代码时忽略文件:这些坑你踩过吗?

发布时间:2025-12-29 20:21:15 阅读:99 次

代码的时候,总会生成一些临时文件、日志或者本地配置,比如 node_modules.env 或者 IDE 自动生成的 .idea 目录。如果不小心把它们提交到 Git 仓库,轻则让仓库变臃肿,重则泄露敏感信息,比如数据库密码。

为什么需要忽略文件?

想象一下,你和同事一起开发项目,他用的是 Windows,你用的是 Mac。编辑器自动生成的 .DS_StoreThumbs.db 被提交了,每次拉代码都冲突,烦不烦?更别说把本地环境变量 .env 提交到公共仓库,等于把钥匙挂在门口。

怎么让 Git 自动忽略这些文件?

靠的是根目录下的一个关键文件:.gitignore。只要在这里列出不想提交的文件或路径,Git 就会自动跳过它们。

比如,一个典型的前端项目 .gitignore 可能长这样:

# 忽略 node_modules
node_modules/

# 忽略环境变量文件
.env
.env.local

# 忽略 IDE 配置
.idea/
.vscode/

# 忽略系统生成的文件
.DS_Store
Thumbs.db

# 忽略打包输出目录
dist/
build/

已经提交了怎么办?

有时候发现 .gitignore 写晚了,文件已经被跟踪了。这时候光加进 .gitignore 没用,得先告诉 Git 停止追踪。

比如你想忽略已经提交的 .env 文件:

git rm --cached .env

执行后文件会从 Git 中移除,但本地还留着,接着提交一次,以后它就不会再出现了。

全局忽略设置

有些文件几乎所有项目都不想提交,比如编辑器生成的缓存。可以配置全局 .gitignore:

git config --global core.excludesfile ~/.gitignore_global

然后在 ~/.gitignore_global 里写上通用规则,一劳永逸。

别小看这个小文件,它能在关键时刻帮你躲开大麻烦。下次提交前,记得瞄一眼 .gitignore,省得半夜被叫起来删密钥。