忽略文件生成器

选择您使用的编程语言、框架、编辑器和操作系统。页面会把它们的 .gitignore 模板合并为一个文件,为每个部分加上标签,并去掉重复的行。您的选择不会发送到任何地方。

免费 在浏览器中运行 核对于2026年11月10日星期二

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 勾选您的项目使用的编程语言、框架、编辑器和操作系统。点击 “全部清除” 可重新开始。
  2. 阅读 “您的 .gitignore 文件”。每个模板都有自己的标签,已被其他模板列出的行只会出现一次。
  3. 点击 “复制” 或 “下载”,并将文本保存为名为 .gitignore 的文件,放在项目的顶层文件夹中。

模板如何合并

您选择的每个模板都会成为一个分区,以标签行开头,例如 # ==== Node ====。各分区按页面上列表的顺序排列,因此相同的选择总会得到相同的文件。

  • 文件中已有的模式再次出现时会被略去。
  • 文件中已有的注释同样会被略去。
  • 行与行之间保留空行,但每个分区开头和结尾的空行会被删除。
  • 如果某个模板的所有行都已被前面的模板列出,它就不新增任何内容,因此不会获得标签行。

重复行与 ! 符号

Git 按顺序读取 .gitignore 文件中的模式,后面的模式会覆盖前面的模式。以 ! 开头的模式会重新包含先前模式排除的文件(gitignore(5))。因此,只有当两个副本之间的行与其同类时,重复的模式才会被略去:如果该模式是排除规则,两个副本之间就不能有以 ! 开头的行;如果它以 ! 开头,两者之间就不能有排除规则。否则重复会保留下来,因为它会改变结果。

模板的来源

这51个模板是 github/gitignore 中文件的副本,那是 GitHub 为新代码仓库提供的模板集合。该集合以 CC0 1.0 Universal 发布,即把模板置于公有领域。除合并之外,每个模板的行保持原样。分区标签使用项目名称,这些名称不作翻译。

文件不涵盖的内容

  • 它不知道您自己的工具会生成哪些文件。请自行添加这些行,例如上传文件夹或本地设置文件。
  • 模式只影响 git 尚未跟踪的文件。已经被跟踪的文件会继续被跟踪,直到您对它运行 git rm --cached。
  • 编辑器和系统文件通常应放在全局忽略文件(core.excludesFile)中,这样电脑上的每个项目都会忽略它们,项目文件中无需添加这些行。

示例:C 与 C++

先选择 C,再选择 C++,将得到一个含77行模式和注释的文件。C 分区新增46行。C++ 分区新增31行,并略去其中23行:这些行 C 分区已经列出,例如 *.o、*.obj 和 *.so。这些重复行之间没有以 ! 开头的行,因此重复行被略去。

模板 新增行数 略去行数
C 46 0
C++ 31 23

常见问题

.gitignore 文件会被发送到服务器吗?

不会。模板随页面一起提供,合并在您的浏览器中进行,因此您生成的文件在您保存之前都留在您的设备上。

两个模板都有同一行时,为什么只列出一次?

合并时保留第一个副本,略去之后的副本,因为重复的模式不会改变任何结果。例外是出现在以 ! 开头的行之后的重复,它可能改变结果,因此该副本会保留下来。

.gitignore 文件能让 git 停止跟踪已经被跟踪的文件吗?

不能。模式只影响 git 尚未跟踪的文件。要让已在代码仓库中的文件停止被跟踪,请对它运行 git rm --cached,之后模式才会对它生效。

编辑器和系统文件应该放进项目的 .gitignore 吗?

可以,但通常更好的做法是使用 core.excludesFile 设置的全局忽略文件。它适用于电脑上的每个项目,因此项目文件只需保留与项目本身相关的行。

模板是最新的吗?

它们是本工具上次更新时 github/gitignore 文件的副本。代码仓库会随时间变化,GitHub 上可能已有更新版本的模板。

资料来源

数据和文字最近核对于2026年11月10日星期二。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。