第一種方法:
.gitignore中已經(jīng)標(biāo)明忽略的文件目錄下的文件,git push的時(shí)候還會(huì)出現(xiàn)在push的目錄中,或者用git status查看狀態(tài),想要忽略的文件還是顯示被追蹤狀態(tài)。
原因是因?yàn)樵趃it忽略目錄中,新建的文件在git中會(huì)有緩存,如果某些文件已經(jīng)被納入了版本管理中,就算是在.gitignore中已經(jīng)聲明了忽略路徑也是不起作用的,
這時(shí)候我們就應(yīng)該先把本地緩存刪除,然后再進(jìn)行g(shù)it的提交,這樣就不會(huì)出現(xiàn)忽略的文件了。
解決方法: git清除本地緩存(改變成未track狀態(tài)),然后再提交:
[root@kevin ~]# git rm -r --cached .
[root@kevin ~]# git add .
[root@kevin ~]# git commit -m 'update .gitignore'
[root@kevin ~]# git push -u origin master
需要特別注意的是:
1).gitignore只能忽略那些原來(lái)沒(méi)有被track的文件,如果某些文件已經(jīng)被納入了版本管理中,則修改.gitignore是無(wú)效的。
2)想要.gitignore起作用,必須要在這些文件不在暫存區(qū)中才可以,.gitignore文件只是忽略沒(méi)有被staged(cached)文件,
對(duì)于已經(jīng)被staged文件,加入ignore文件時(shí)一定要先從staged移除,才可以忽略。
第二種方法:(推薦)
在每個(gè)clone下來(lái)的倉(cāng)庫(kù)中手動(dòng)設(shè)置不要檢查特定文件的更改情況。
[root@kevin ~]# git update-index --assume-unchanged PATH //在PATH處輸入要忽略的文件