詳解git中配置的.gitignore不生效的解決辦法
詳解git中配置的.gitignore不生效的解決辦法
前言:
通常我們希望放進(jìn)倉(cāng)庫(kù)的代碼保持純凈,即不要包含項(xiàng)目開(kāi)發(fā)工具生成的文件,或者項(xiàng)目編譯后的臨時(shí)文件。但是,當(dāng)我們使用git status查看工作區(qū)狀態(tài)的時(shí)候,總會(huì)提示一些文件未被track。于是,我們想讓git幫助我們忽略這些文件,不再提醒。
慶幸的是,git已經(jīng)考慮到這點(diǎn)了。我們可以在項(xiàng)目的根目錄下建立一個(gè).gitignore的文件,該文件用來(lái)配置哪些文件或者目錄不被track的。規(guī)則很簡(jiǎn)單,就在該文件中,寫(xiě)下你不想被track的文件,一行一個(gè)??招泻?開(kāi)頭的行將被過(guò)濾掉。
下面給出一個(gè)小例子來(lái)說(shuō)明.gitignore文件的用法:
#這里可以寫(xiě)下注釋?zhuān)员砻鬟@條規(guī)則的目的。 如下例子,表明不再track hello.class這個(gè)文件,應(yīng)為這個(gè)是編譯生成的文件,我們只要有源代碼就可以生成該文件hello.class #我們也可以使用通配符,下面例子表明不再track所有以class結(jié)尾的文件 *.class #使用!表示特例,表示在前面的規(guī)則應(yīng)當(dāng)排除指定的特殊文件。 #下面例子表示register.class不適用*.class這條規(guī)則,應(yīng)該被提醒track !register.class #也可以對(duì)一個(gè)目錄進(jìn)行處理,以下例子表明testDir中的所有文件或者目錄都不被track testDir/ #也可以?xún)H僅對(duì)一個(gè)目錄下的文件進(jìn)行處理,如下面例子表明testDir2目錄下的所有以doc結(jié)尾的文件不被track,其他的文件將被提醒track,如/testDir2/hello.txt /testDir2/*.doc
正常情況下,這樣配置之后就可以了。但是有些時(shí)候,我們發(fā)現(xiàn)配置的某個(gè)選項(xiàng)不起作用,這是為什么尼?明明配的沒(méi)有問(wèn)題呀,讓人覺(jué)得很納悶。
其實(shí)真正的原因是.gitignore只能忽略那些尚未被被track的文件,如果某些文件已經(jīng)被納入了版本管理中,則修改.gitignore是無(wú)效的。一個(gè)簡(jiǎn)單的解決方法就是先把本地緩存刪除(改變成未track狀態(tài)),然后再提交。
git rm -r --cached . git add . git commit -m 'update .gitignore'
如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
淺析在 RHEL8 配置靜態(tài) IP 地址的不同方法
如果一個(gè)人在 Linux 服務(wù)器上正確配置了靜態(tài)地址,那么他/她就可以通過(guò)網(wǎng)絡(luò)遠(yuǎn)程訪問(wèn)它。在本文中,我們將演示在 RHEL 8 服務(wù)器網(wǎng)卡上配置靜態(tài) IP 地址的不同方法,需要的朋友可以參考下2019-09-09
PHP程序員玩轉(zhuǎn)Linux系列 CentOS安裝使用教程
這篇文章主要為大家詳細(xì)介紹了PHP程序員玩轉(zhuǎn)Linux系列文章,CentOS安裝使用教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
在Linux系統(tǒng)中使用Vim讀寫(xiě)遠(yuǎn)程文件的命令詳解
這篇文章主要介紹了在Linux系統(tǒng)中使用Vim讀寫(xiě)遠(yuǎn)程文件的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
linux服務(wù)器磁盤(pán)空間擴(kuò)充方法
大家好,本篇文章主要講的是linux服務(wù)器磁盤(pán)空間擴(kuò)充方法,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下哦,方便下次瀏覽2021-12-12

