Git忽略規(guī)則(.gitignore配置)不生效原因和解決

第一種方法:
.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處輸入要忽略的文件

參考:

Git忽略提交規(guī)則 - .gitignore配置運(yùn)維總結(jié)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容