写代码的时候,总会生成一些临时文件、日志或者本地配置,比如 node_modules、.env 或者 IDE 自动生成的 .idea 目录。如果不小心把它们提交到 Git 仓库,轻则让仓库变臃肿,重则泄露敏感信息,比如数据库密码。
为什么需要忽略文件?
想象一下,你和同事一起开发项目,他用的是 Windows,你用的是 Mac。编辑器自动生成的 .DS_Store 或 Thumbs.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,省得半夜被叫起来删密钥。