參考文章:(https://www.cnblogs.com/kevingrace/p/5690241.html)
參考文章:(https://www.cnblogs.com/rainbowk/p/10932322.html)
主要目的是為了記錄冶共,方便自己找尋
第一種方法:
.gitignore中已經(jīng)標(biāo)明忽略的文件目錄下的文件茁彭,git push的時候還會出現(xiàn)在push的目錄中蓖捶,或者用git status查看狀態(tài)隙弛,想要忽略的文件還是顯示被追蹤狀態(tài)楷掉。
原因是因為在git忽略目錄中舰绘,新建的文件在git中會有緩存墅垮,如果某些文件已經(jīng)被納入了版本管理中民假,就算是在.gitignore中已經(jīng)聲明了忽略路徑也是不起作用的可免,
這時候我們就應(yīng)該先把本地緩存刪除抓于,然后再進(jìn)行g(shù)it的提交,這樣就不會出現(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只能忽略那些原來沒有被track的文件,如果某些文件已經(jīng)被納入了版本管理中逮刨,則修改.gitignore是無效的呕缭。
2)想要.gitignore起作用堵泽,必須要在這些文件不在暫存區(qū)中才可以修己,.gitignore文件只是忽略沒有被staged(cached)文件恢总,
對于已經(jīng)被staged文件,加入ignore文件時一定要先從staged移除睬愤,才可以忽略。
第二種方法:(推薦)
在每個clone下來的倉庫中手動設(shè)置不要檢查特定文件的更改情況。
[root@kevin ~]# git update-index --assume-unchanged PATH //在PATH處輸入要忽略的文件