项目中经常会生成一些 Git 系统不需要追踪(track)的文件。典型的是在编译生成过程中产生的文件或是编程器生成的临时备份文件。当然,你不追踪(track)这些文件,可以 平时不用git add去把它们加到索引中。 但是这样会很快变成一件烦人的事,你发现项目中到处有未追踪(untracked)的文件;这样也使git add .和git commit -a变得实际上没有用处,同时git status命令的输出也会有它们。
你可以在你的顶层工作目录中添加一个叫.gitignore的文件,来告诉 Git 系统要忽略掉哪些文件,下面是文件内容的示例:
# 以'#' 开始的行,被视为注释. # 忽略掉所有文件名是 foo.txt 的文件. foo.txt # 忽略所有生成的 html 文件, *.html # foo.html是手工维护的,所以例外. !foo.html # 忽略所有.o 和 .a文件. *.[oa]
你可以点这里 [gitignore]() 查看一下详细的语法解释。你也可以把.gitignore这个文件放到工作树(working tree)里的其它目录中,这就会在它和它的子目录起忽略(ignore) 指定文件的作用。.gitignor文件同样可以像其它文件一样加到项目仓库里( 直接用git add .gitignore和git commit等命令),这样项目里的其它开发者也能共享同一套忽略文件规则。
如果你想忽略规则只对特定的仓库起作用,你可以把这些忽略规则写到你的仓库下 .git/info/exclude文件中,或是写在 Git 配置变量 core.excludesfile 中指定的文件里。有些 Git 命令也可在命令行参数中指定忽略规则,你可以在这里:gitignore查看详细的用法。