.gitignore 生成指南:按项目类型快速创建忽略规则

实用工具(更新于 2026年6月20日)

.gitignore 是什么

.gitignore 文件告诉 Git 哪些文件/目录不需要版本控制:

node_modules/       ← 忽略整个目录
*.log               ← 忽略所有日志文件
.env                ← 忽略环境变量文件
dist/               ← 忽略构建产物

未被跟踪的文件如果匹配 .gitignore 规则,Git 会自动跳过。已被跟踪的文件不受影响。


语法规则详解

基本模式

语法 含义 示例
*.ext 匹配所有 .ext 文件 *.log
dir/ 匹配整个目录 node_modules/
file 匹配具体文件 .env
** 匹配任意层目录 **/test
? 匹配单个字符 config?.json
[abc] 匹配方括号内任一字符 file[123].txt

取反模式 !

*.log           ← 忽略所有日志
!important.log  ← 但保留 important.log

取反模式必须写在忽略规则之后才有效。

路径规则

/README.md      ← 仅忽略根目录的 README.md
README.md       ← 忽略所有路径下的 README.md
docs/*.pdf      ← 忽略 docs 目录下的 PDF,不递归
docs/**/*.pdf   ← 忽略 docs 所有子目录下的 PDF

常用项目模板

Node.js

node_modules/
dist/
build/
.next/
.env
.env.local
*.log
coverage/

Python

__pycache__/
*.py[cod]
*.egg-info/
dist/
.venv/
venv/
.env
.pytest_cache/
.mypy_cache/

Java / Spring Boot

target/
*.class
*.jar
*.war
.gradle/
.idea/
*.iml
application-local.yml

IDE / 编辑器

# VS Code
.vscode/

# IntelliJ IDEA
.idea/
*.iml

# macOS
.DS_Store

# Windows
Thumbs.db

使用 gitignore 工具

第一步:打开工具

访问 gitignore 工具,进入生成界面。

第二步:选择项目类型

勾选项目使用的技术栈:

  • ☑ Node.js
  • ☑ Python
  • ☑ Java
  • ☑ Vue / React / Angular

第三步:选择 IDE

勾选团队使用的编辑器:

  • ☑ VS Code
  • ☑ IntelliJ IDEA
  • ☑ 其他

第四步:生成并下载

点击「生成」,工具自动合并所有模板,去除重复规则,生成完整的 .gitignore 文件。

第五步:放置到项目根目录

将下载的文件放到 Git 仓库根目录,确保文件名是 .gitignore(注意开头的点)。


全局 gitignore

除了项目级 .gitignore,还可以设置全局忽略规则(适用于所有仓库):

# 设置全局 gitignore 文件
git config --global core.excludesFile ~/.gitignore_global

# 编辑全局规则
vim ~/.gitignore_global

推荐全局忽略的内容:

# 操作系统文件
.DS_Store
Thumbs.db

# IDE 配置
.idea/
.vscode/

# 个人工具
.todo

全局规则适合放个人环境相关的文件,项目级规则适合放项目相关的文件。


已跟踪文件的处理

.gitignore 只对未跟踪的文件生效。如果文件已经被 Git 跟踪:

# 取消跟踪但保留本地文件
git rm --cached .env

# 取消跟踪整个目录
git rm -r --cached node_modules/

# 提交取消跟踪的变更
git commit -m "chore: update gitignore and untrack files"

--cached 参数确保只从 Git 索引中移除,不删除本地文件。


常见错误

错误 原因 解决
规则不生效 文件已被跟踪 git rm --cached 取消跟踪
取反不生效 ! 写在了忽略规则之前 ! 规则放在对应忽略规则之后
忽略了不该忽略的 模式太宽泛 使用 / 限定路径范围
忘记忽略 .env 未包含环境变量模板 始终添加 .env 到 .gitignore
团队规则不一致 没有统一模板 使用工具生成标准模板

.gitignore 与 .gitkeep

忽略目录后,Git 不会跟踪空目录。如需保留空目录结构:

logs/           ← .gitignore 忽略日志
logs/.gitkeep   ← .gitkeep 占位,保留目录

.gitkeep 不是 Git 功能,是社区约定。在空目录中放一个 .gitkeep 文件即可。


总结

.gitignore 是项目配置的基础,正确的忽略规则能避免提交敏感信息和冗余文件。掌握语法规则、常用模板和全局配置,配合 gitignore 工具 快速生成,是高效版本控制的第一步。

#gitignore#Git#忽略规则#项目配置#版本控制