被.gitignore坑惨后,我整理出这份避坑指南
本文是Git忽略文件的实战指南,针对常见误提交问题提供了解决方案。主要内容包括: 基础规则:介绍了3种核心写法 - 忽略单个文件、整个目录和使用通配符 高阶技巧:讲解了双星号跨层级匹配、取反规则和特殊字符转义 避坑指南:重点说明已跟踪文件的处理、规则顺序的重要性和空格问题 实用模板:提供了Web开发和IDE配置的通用.gitignore模板 全局配置:介绍了设置全局忽略文件的方法 文末建议立即检查
·
你是否经历过这些崩溃瞬间?
git status刷出满屏的node_modules- 误提交了存有密码的
.env文件 - 提交了 2GB 的临时编译文件
最近新建项目时发现没有 .gitignore 文件,结果提交时不小心把依赖全传上去了!网上教程又都是空谈重要性,很少教具体怎么写。今天我就用血泪经验总结这份实战指南:
(文末有通用模板,如果不想看可以直接跳到后面使用)
一、基础规则:3种核心写法
1. 忽略单个文件 → 直接写文件名
.env # 根目录的 .env 文件(含敏感密钥千万别提交!)
/config.yaml # 只忽略根目录的 config.yaml(开头加 /)
2. 忽略整个目录 → 路径结尾必须加 /
build/ # 忽略根目录的 build 文件夹(正确写法)
/cache/* # 忽略根目录 cache 下的文件(不忽略 cache 本身)
注意:
/target和target/天差地别!
target→ 忽略所有名叫target的文件和文件夹target/→ 只忽略名为target的目录
3. 忽略一类文件 → 通配符 * 和 ?
*.log # 所有 .log 结尾的文件
temp-?.txt # 忽略 temp-a.txt、temp1.txt 等(`?` 表示一个字符)
二、高阶技巧
双星号 **:跨层级匹配
**/__pycache__/ # 忽略所有层级的 __pycache__ 文件夹(Python 必备)
docs/** /*.tmp # 匹配 docs 下任意子目录的 .tmp 文件
! 取反规则:特赦某些文件
*.js # 忽略所有 .js 文件
!main.js # 但保留根目录的 main.js(必须写在 *.js 后!)
转义特殊字符 → 加 \
\#debug.txt # 忽略名为 #debug.txt 的文件(而不是注释)
\$\$cache # 忽略名字含 $$ 的文件夹
三、血泪经验:3大避坑指南
1. 已跟踪的文件 .gitignore 无效!
如果之前提交过 config.ini,即使加到 .gitignore 里,Git 仍会跟踪它。
解决方案:
git rm --cached config.ini # 从仓库删除(保留本地文件)
2. 规则顺序决定生死
.gitignore 从上往下匹配,规则冲突时后面的失效:
❌ 错误写法:永远忽略不到 important.js
!important.js # 特赦此文件
*.js # 但后续规则又忽略所有 js
✅ 正确写法:
*.js # 先忽略所有 js
!important.js # 再特赦这个文件
3. 别用空格做对齐
以下写法会让 Git 困惑:
*.log # 别这样写注释(# 必须在行首!)
/dist # 别缩进(行首空格会导致规则失效)
四、最佳实践:开箱即用模板
通用模板(Web开发)
# 系统文件
.DS_Store # macOS垃圾文件
Thumbs.db # Windows缩略图
# 环境配置
.env # 环境变量(千万别上传!)
.venv/ # Python虚拟环境
# 构建产物
dist/ # 打包目录
*.exe # 可执行文件
# 日志缓存
*.log
.cache/
IDE 配置文件
# VS Code
.vscode/
!.vscode/settings.json # 保留团队共享设置
# IntelliJ
.idea/
*.iml
更多官方模板:GitHub 官方 .gitignore 库(含 Python/Java/Go 等 60+ 模板)
五、终极武器:全局忽略
永久屏蔽系统级垃圾文件:
创建全局规则文件:
echo ".DS_Store" >> ~/.gitignore_global
让 Git 启用它:
git config --global core.excludesfile ~/.gitignore_global
六、立即行动
- 检查你的项目是否有
.gitignore - 用
git check-ignore -v 文件名测试规则 - 删除已被误提交的垃圾文件(
git rm --cached) - 据统计:优化
.gitignore可使仓库体积减小 70%+,git clone速度提升 3 倍!
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)