您好,登錄后才能下訂單哦!
詳解git中配置的.gitignore不生效的解決辦法
前言:
通常我們希望放進倉庫的代碼保持純凈,即不要包含項目開發工具生成的文件,或者項目編譯后的臨時文件。但是,當我們使用git status查看工作區狀態的時候,總會提示一些文件未被track。于是,我們想讓git幫助我們忽略這些文件,不再提醒。
慶幸的是,git已經考慮到這點了。我們可以在項目的根目錄下建立一個.gitignore的文件,該文件用來配置哪些文件或者目錄不被track的。規則很簡單,就在該文件中,寫下你不想被track的文件,一行一個。空行和#開頭的行將被過濾掉。
下面給出一個小例子來說明.gitignore文件的用法:
#這里可以寫下注釋,以表明這條規則的目的。 如下例子,表明不再track hello.class這個文件,應為這個是編譯生成的文件,我們只要有源代碼就可以生成該文件hello.class #我們也可以使用通配符,下面例子表明不再track所有以class結尾的文件 *.class #使用!表示特例,表示在前面的規則應當排除指定的特殊文件。 #下面例子表示register.class不適用*.class這條規則,應該被提醒track !register.class #也可以對一個目錄進行處理,以下例子表明testDir中的所有文件或者目錄都不被track testDir/ #也可以僅僅對一個目錄下的文件進行處理,如下面例子表明testDir2目錄下的所有以doc結尾的文件不被track,其他的文件將被提醒track,如/testDir2/hello.txt /testDir2/*.doc
正常情況下,這樣配置之后就可以了。但是有些時候,我們發現配置的某個選項不起作用,這是為什么尼?明明配的沒有問題呀,讓人覺得很納悶。
其實真正的原因是.gitignore只能忽略那些尚未被被track的文件,如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的。一個簡單的解決方法就是先把本地緩存刪除(改變成未track狀態),然后再提交。
git rm -r --cached . git add . git commit -m 'update .gitignore'
如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。