.gitignore無效,不能過濾某些文件

利用.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
相關文章
相關標籤/搜索