問題:
.gitignore中已經標明忽略的文件目錄下的文件,git push的時候還會出現在push的目錄中,或者用git status查看狀態,想要忽略的文件還是顯示被追蹤狀態。
原因是因為在git忽略目錄中,新建的文件在git中會有緩存,如果某些文件已經被納入了版本管理中,就算是在.gitignore中已經聲明了忽略路徑也是不起作用的,
這時候我們就應該先把本地緩存刪除,然后再進行git的push,這樣就不會出現忽略的文件了。
解決:
git清除本地緩存(改變成未track狀態),然后再提交。
git rm -r --cached . git add . git commit -m 'xxx'
注意:
- .gitignore只能忽略那些原來沒有被track的文件,如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的。
想要.gitignore起作用,必須要在這些文件不在暫存區中才可以,.gitignore文件只是忽略沒有被staged(cached)文件,
對於已經被staged文件,加入ignore文件時一定要先從staged移除,才可以忽略。