利用.gitignore過濾文件,如編譯過程當中的中間文件,等等,這些文件不須要被追蹤管理。php
現象:git
在.gitignore添加file1文件,以過濾該文件,可是經過git status查看仍顯示file1文件的狀態。ui
緣由:code
在git庫中已存在了這個文件,以前push提交過該文件。server
.gitignore文件只對尚未加入版本管理的文件起做用,若是以前已經用git把這些文件歸入了版本庫,就不起做用了it
解決:編譯
須要在git庫中刪除該文件,並更新。class
而後再次git status查看狀態,file1文件再也不顯示狀態。版本管理
git rm -r --cached . git add . git commit -m 'update .gitignore'
附加:date
.gitignore規則,每一行保存了一個匹配的規則例如:
# 此爲註釋 – 將被 Git 忽略 *.a # 忽略全部 .a 結尾的文件 !lib.a # 但 lib.a 除外 /TODO # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO build/ # 忽略 build/ 目錄下的全部文件 doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt