詳解git中配置的.gitignore不生效的解決辦法
成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。創(chuàng)新互聯(lián)多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián),不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。
創(chuàng)新互聯(lián)長(zhǎng)期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為開平企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),開平網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
前言:
通常我們希望放進(jìn)倉(cāng)庫(kù)的代碼保持純凈,即不要包含項(xiàng)目開發(fā)工具生成的文件,或者項(xiàng)目編譯后的臨時(shí)文件。但是,當(dāng)我們使用git status查看工作區(qū)狀態(tài)的時(shí)候,總會(huì)提示一些文件未被track。于是,我們想讓git幫助我們忽略這些文件,不再提醒。
慶幸的是,git已經(jīng)考慮到這點(diǎn)了。我們可以在項(xiàng)目的根目錄下建立一個(gè).gitignore的文件,該文件用來配置哪些文件或者目錄不被track的。規(guī)則很簡(jiǎn)單,就在該文件中,寫下你不想被track的文件,一行一個(gè)??招泻?開頭的行將被過濾掉。
下面給出一個(gè)小例子來說明.gitignore文件的用法:
#這里可以寫下注釋,以表明這條規(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/ #也可以僅僅對(duì)一個(gè)目錄下的文件進(jìn)行處理,如下面例子表明testDir2目錄下的所有以doc結(jié)尾的文件不被track,其他的文件將被提醒track,如/testDir2/hello.txt /testDir2/*.doc
正常情況下,這樣配置之后就可以了。但是有些時(shí)候,我們發(fā)現(xiàn)配置的某個(gè)選項(xiàng)不起作用,這是為什么尼?明明配的沒有問題呀,讓人覺得很納悶。
其實(shí)真正的原因是.gitignore只能忽略那些尚未被被track的文件,如果某些文件已經(jīng)被納入了版本管理中,則修改.gitignore是無效的。一個(gè)簡(jiǎn)單的解決方法就是先把本地緩存刪除(改變成未track狀態(tài)),然后再提交。
git rm -r --cached . git add . git commit -m 'update .gitignore'
如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!