项目中常常会生成一些Git系统不须要追踪(track)的文件。典型的是在编译生成过程当中 产生的文件或是编程器生成的临时备份文件。固然,你不追踪(track)这些文件,能够 平时不用"git add"去把它们加到索引中。 可是这样会很快变成一件烦人的事,你发现项目中处处有未追踪(untracked)的文件; 这样也使"git add ." 和"git commit -a" 变得实际上没有用处,同时"git status"命令的输出也会有它们。你能够在你的顶层工做目录中添加一个叫".gitignore"的文件,来告诉Git系统要忽略 掉哪些文件。html
# 忽略 .a 文件
*.a
# 但否认忽略 lib.a, 尽管已经在前面忽略了 .a 文件
!lib.a
# 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO
/TODO
# 忽略 build/ 文件夹下的全部文件
build/
# 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt
# 忽略全部的 .pdf 文件 在 doc/ directory 下的
doc/**/*.pdf
Github 上为开发者提供了各类环境以及各类编程语言的 gitignore 文件配置模板:https://github.com/github/gitignorepython
本人使用的是python项目的gitgnore文件 url:https://github.com/github/gitignore/blob/master/Python.gitignoregit
.gitignore分为全局配置和局部配置,这个很容易理解全局配置是指修改当前.gitignore文件本机的git中的所有项目都起做用,局部的配置是指每一个项目下的.gitignore文件只对向前所在的项目起做用。github
局部的配置只须要在项目目录中建立 .gitignore
文件便可。编程
全局的配置设置方法为:windows
$git config –global core.excludesfile ~/.gitignore编程语言
这样,修改 这个文件将做用于全部 git 项目,而且做用于项目实例中的全部被跟踪的目录。
# Windows: (使用windows用户,过滤存放图片文件夹下生成的缩略图) Thumbs.db ehthumbs.db Desktop.ini # Python: *.py[cod] *.so *.egg *.egg-info dist build target .idea .classpath .project .settings *.iml .gitignore
~/.gitignore
$ git rm test.txt rm 'test.txt' $ git commit -m "remove test.txt"
参考连接:http://www.chengxusheji.com/archives/121.htmlide
http://kuanghy.github.io/2016/05/17/gitignoreui
http://outofmemory.cn/code-snippet/37452/git-ignorefiles-exampleurl