.gitignore 生成
按语言、框架、操作系统与编辑器勾选,实时生成一份去重合并、带分组注释的 .gitignore,可追加自定义忽略行并一键复制。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
选择模板
勾选即合并,重复的忽略行只保留一次;分组顺序固定为语言 → 系统 → 编辑器。
语言 / 框架
操作系统
编辑器 / IDE
预览
# Node node_modules/ dist/ build/ coverage/ npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* .env .env.local .env.*.local !.env.example # macOS .DS_Store .AppleDouble .LSOverride ._* .Spotlight-V100 .Trashes Icon?
输出为纯文本,可直接保存成项目根目录下的 .gitignore;带 ! 的行是取消忽略,顺序已按 Git 规则排好。
这个工具能做什么
- 新项目 git init 时一次勾完语言、系统和编辑器,直接得到一份不会漏掉 node_modules、.DS_Store、.idea 的 .gitignore。
- 多语言仓库(比如 Node 后端加 Python 脚本)合并模板:重复的忽略行会自动去重,不用手抄两份文件再比对。
- 接手别人的仓库时对照生成结果,检查现有 .gitignore 漏了哪些常见构建产物与本地配置文件。
- 需要忽略内部约定目录(如 secrets/、*.local)时,用自定义追加行补在文件末尾,不用手动编辑。
示例
输入
勾选 macOS 与 Vim,自定义行填 *.bak
输出
# macOS .DS_Store .AppleDouble .LSOverride ._* .Spotlight-V100 .Trashes Icon? # Vim *.swp *.swo *.swn .netrwhist tags # Custom *.bak
分组顺序固定为语言 → 系统 → 编辑器 → 自定义,勾选顺序不影响结果;跨模板重复的忽略行只保留第一次出现的位置。
常见问题
.gitignore 放在哪里才会生效?
放在仓库根目录时对整个工作区生效;在子目录再放一份 .gitignore,规则只作用于该目录及其子目录。注意规则只影响未被跟踪的文件,已经提交过的文件要先 git rm --cached 才会真正被忽略。
同时勾选 Node 和 Python,为什么 dist/ 只出现一次?
生成时会跨模板去重:同一行只保留第一次出现的位置。Node 与 Python 模板都包含 dist/、build/、coverage/,合并后各写一行,避免同一份文件里出现重复条目。
带 ! 的行是什么意思?
! 表示取消忽略。Node 模板里的 .env 会忽略本地环境变量文件,紧跟的 !.env.example 让示例文件仍可提交。这类行必须排在对应忽略规则之后,生成器已经保证了顺序。
工具会读取或修改我的仓库吗?
不会。模板是内置的静态列表,生成结果只显示在页面上,由你自己复制保存;页面不发任何网络请求,也不会写入本地文件。
生成的条目和项目实际情况不一致怎么办?
模板覆盖的是通用约定(依赖目录、构建产物、系统与编辑器临时文件),具体目录名因项目而异。把生成结果当基线,再用自定义追加行补充内部约定即可。
关键词:gitignoregitignore generator.gitignore 生成git ignore fileignore patternsnode gitignorepython gitignore忽略文件版本控制git 配置macos .DS_Store