关于 .gitignore 生成器
本工具直接采用 GitHub 维护的官方模板集 github/gitignore,把多个模板合并为一个文件并整理重叠的规则。生成的规则实际会忽略哪些文件,可以在按照与 git 相同的匹配规则实现的模式测试器中立即确认。所有处理都在浏览器内完成,您输入的规则和路径不会发送到服务器。
主要功能
- 搜索并多选 312 种模板 — 按名称搜索语言与框架、操作系统与编辑器与工具、社区模板,选择多个后合并为一个文件。按 Enter 键可直接添加第一个结果。
- 不改变含义的去重 — 如果多个模板中有相同的规则,会删除后出现的那条。但如果两条规则之间有 `!` 否定规则,结果可能改变,因此予以保留。
- 分节注释与原始注释 — 为每个模板添加带有来源路径的分节注释,便于日后了解每条规则的出处。也可以去掉原始注释,只保留规则。
- 热门组合预设 — 一次选中 Node + macOS + VS Code、Java + Maven + IntelliJ、Unity + Visual Studio 等常用组合。
- 模式测试器 — 粘贴路径列表后,显示是否被忽略以及决定规则(含行号)。按与 git 相同的方式判定 `!` 否定、末尾 `/`、`**`、锚定以及父目录排除。
- 生成取消跟踪命令 — 生成用 `git rm --cached` 将已提交文件移出跟踪的命令,支持 bash/zsh 和 PowerShell。
- 复制、下载与分享链接 — 复制结果或保存为 `.gitignore` 文件。所选模板会保存在地址(`?t=`)中,可以通过链接分享。
使用方法
- 在左侧列表中搜索并勾选模板,或点击热门组合按钮。通常选择 1~2 个语言/框架,以及所用的操作系统和编辑器。
- 在右侧查看结果。更改去除重复规则、分节注释、保留原始注释选项会立即生效。项目特有的规则写在自定义规则中。
- 通过复制或下载在仓库根目录创建
.gitignore。如果浏览器把文件名保存为gitignore,请在前面加上点号重命名。 - 点击测试按钮,规则会转到模式测试标签页。粘贴仓库中的路径,确认是否按预期被忽略(使用
git ls-files、find . -type f的输出很方便)。 - 如果已提交的文件没有被忽略,请在取消跟踪标签页中生成命令、执行并提交。
模板数据与许可
312 种模板以 github/gitignore 仓库的提交 356fd7b(2026-09-11)为准。该仓库以 CC0-1.0(公共领域贡献)发布,可以自由复制、修改和再分发。根目录为语言与框架,Global 为操作系统、编辑器与工具,community 为专用模板。各模板的详解和本站的文字均由本站编写。
常见问题
已经加入 .gitignore,但文件仍然出现在 git status 中。
.gitignore 只作用于尚未被跟踪的文件。已提交的文件需要用 git rm --cached <文件> 从索引中移除并提交后才会被忽略。可以在取消跟踪标签页中生成命令。
已经用 `!` 重新包含,但仍然被忽略。
如果父目录本身被排除,git 不会查看其内部,因此无法用 ! 恢复其中的文件。请用 logs/* 代替 logs/,只排除目录中的内容,然后使用 !logs/keep.txt。模式测试器会把这种情况显示为“已忽略(父目录)”。
去重会不会改变规则的含义?
git 遵循最后匹配的规则。同一规则再次出现时,如果中间没有 ! 规则,删除后面那条结果不变。如果中间有否定规则,本工具不会删除重复项,而是予以保留。
模式测试器的结果与实际 git 一致吗?
我们按照 gitignore(5) 文档和 git 的 wildmatch 行为实现,并将数千组随机模式和路径与实际 git ls-files --ignored 的结果进行对照,确认结果一致。不过,它不会一并计算子目录中的 .gitignore、.git/info/exclude 和全局设置,因此整个仓库的最终判定请用 git check-ignore -v 确认。
macOS、VS Code 的规则应该放进项目的 .gitignore 吗?
操作系统和编辑器生成的文件属于个人环境,推荐放在通过 core.excludesFile 指定的全局 gitignore 中。不过团队成员往往没有配置全局设置,因此也有很多团队把它们一并放进项目文件。
模板数据有多新?
我们用构建脚本下载 github/gitignore 仓库并随站打包。基准提交和日期显示在关于页面、模板列表底部以及生成结果的开头注释中。
输入的内容会被保存或发送吗?
不会。生成、测试和命令生成都在浏览器中执行。只有浅色/深色主题和生成选项会保存在此浏览器的 localStorage 中。