跳到主内容
UniKit

.gitignore 生成

按语言、框架、操作系统与编辑器勾选,实时生成一份去重合并、带分组注释的 .gitignore,可追加自定义忽略行并一键复制。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

选择模板

勾选即合并,重复的忽略行只保留一次;分组顺序固定为语言 → 系统 → 编辑器。

语言 / 框架

操作系统

编辑器 / IDE

预览

已选模板
2
忽略行
19
分组
2
.gitignore
# 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

同类工具