> For the complete documentation index, see [llms.txt](https://lujw666.gitbook.io/learn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lujw666.gitbook.io/learn/git/01-advanced/02-hu-lve-wen-jian.md).

# 忽略文件

项目中经常会生成一些Git系统不需要追踪(track)的文件。典型的是在编译生成过程中产生的文件或是编程器生成的临时备份文件。

当然，你不追踪(track)这些文件，可以不用"git add"去把它们加到索引中。 但是这样会很快变成一件烦人的事，会发现项目中到处有未追踪(untracked)的文件。

可以在你的顶层工作目录中添加一个叫".gitignore"的文件，来告诉Git系统要忽略掉哪些文件，下面是文件内容的示例:

```
# 以'#' 开始的行，被视为注释.
# 忽略掉所有文件名是 foo.txt 的文件.
foo.txt
# 忽略所有生成的 html 文件,
*.html
# foo.html是手工维护的，所以例外.
!foo.html
#  忽略所有.o 和 .a文件.
*.[oa]
```

可以把 `.gitignore` 文件放到工作树 (working tree) 里的其它目录中，这就会在它和它的子目录起忽略 (ignore) 指定文件的作用。`.gitignore` 文件同样可以像其它文件一样加到项目仓库里( 直接用 `git add .gitignore` 和 `git commit` 等命令), 这样项目里的其它开发者也能共享同一套忽略文件规则。

如果想忽略规则只对特定的仓库起作用,可以把这些忽略规则写到仓库下 .git/info/exclude文件中，或是写在Git配置变量core.excludesfile中指定的文件里。
