编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 开发生成 / gitignore生成

gitignore生成

按语言生成 .gitignore。

结果

这个工具能做什么

gitignore生成工具做的事很直接:你选中项目用到的语言、框架或编辑器,它就把对应的常用忽略规则拼成一份 .gitignore 文件给你。新建仓库时最烦的就是一条条回忆该忽略什么——依赖目录、构建产物、环境变量文件、IDE 的私有配置,漏掉一个就可能把庞大的 node_modules 或者带密钥的 .env 提交上去。这个 git忽略文件生成器把这些高频规则做成模板,勾选完直接复制,整个过程在浏览器本地完成、不上传任何内容。

.gitignore 本质是一份基于 glob 通配符的匹配清单,Git 在 status、add 时会拿工作区里未追踪的路径逐行去比对。每行是一条规则:以 # 开头是注释,结尾带 / 表示只匹配目录,* 匹配任意字符但不跨越路径分隔符,** 可以跨目录,前缀 ! 则把之前被忽略的路径重新纳入追踪。工具做的就是按你勾选的类别,把这些经过验证的规则片段拼接成一份完整的 gitignore模板,并处理好注释分区和排列顺序,省得你自己去记每种语言该排除哪些目录。

举两个实际例子。开一个新的 Node 项目,勾选 Node 类别,生成的规则里会包含 node_modules/、dist/、.env、npm-debug.log 这类,直接放进仓库根目录,就不用担心把体积巨大的依赖目录提交进版本库;再比如一个 Python 仓库,选 Python 会带上 __pycache__/、*.pyc、.venv/、*.egg-info/,再顺手勾一个编辑器类别(比如 VS Code 的 .vscode/ 或 JetBrains 的 .idea/),就能把语言产物和个人开发环境配置一起排除。多人协作时,这样一份统一的 gitignore配置能避免每个人的本地临时文件互相污染提交历史。

有个常见误区要提醒:.gitignore 只对尚未被追踪的文件生效。如果某个文件之前已经 git add 并提交过,再把它写进忽略规则是不起作用的,得先执行 git rm --cached 把它从索引里移除、再提交一次才行。另外规则顺序有讲究,! 取消忽略必须排在对应的忽略规则之后,而且父目录已被整体忽略时,对里面文件做取反通常不会生效。若你想跨所有仓库统一忽略(比如系统生成的 .DS_Store),更适合放进 git config 指定的全局 core.excludesFile,而不是塞进每个项目的忽略文件生成结果里。

gitignore生成是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“gitignore生成”、“git忽略文件”、“gitignore模板”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

这个工具支持哪些项目类型?
覆盖常见的编程语言、框架、编辑器和操作系统类别,你按项目实际用到的技术栈勾选即可。可以同时选多个,把不同来源的规则合并成同一份 .gitignore。
把规则加进 .gitignore 后,已经提交的文件为什么还在被追踪?
.gitignore 只管尚未被 Git 追踪的文件。对已进入版本库的文件,要先运行 git rm --cached <文件> 把它从索引里移除再提交,忽略才会生效;这个命令不会删除你本地磁盘上的文件。
.gitignore 文件应该放在哪里?
通常放在仓库根目录,对整个项目生效。你也可以在子目录里再放一个 .gitignore,它的规则只作用于该目录及其子目录,而且离文件更近的规则优先级更高。
生成结果和 gitignore.io、GitHub 官方模板有什么区别?
底层都是同一套 glob 忽略语法,常用规则也大同小异,区别主要在获取方式——这里勾选后直接把规则拼好给你复制,你还可以在结果上手动增删,适配自己项目里的特殊目录。
规则里的 *、/、! 分别是什么意思?
* 匹配同一层级的任意字符且不跨越 /,例如 *.log 忽略所有 log 文件;结尾的 / 表示只匹配目录,如 build/;开头的 ! 表示取消忽略,把前面被排除的路径重新纳入追踪。

相关工具

查看全部「开发生成」工具 →

相关名词解释