項目中常常會生成一些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