git_舊瓶新酒?談.gitignore檔案不起作用的解決方案
阿新 • • 發佈:2018-11-28
git中.gitignore
檔案不起作用的解決
本篇內容實際上很多部落格已經提到了,但是我想說的,是經過實際測試有效的解決方法。
什麼情況下.gitignore
檔案會失效
當你已經使用git來track了一些不想要的檔案時,這些檔案是無法被.gitignore
檔案忽略的。
比如:你的git倉庫中有3個檔案,A.tex
, B.log
, C.aux
。如果你在建立倉庫時沒有新增.gitignore
檔案,而是選擇了直接commit -am
,則後續再新增.gitignore
檔案如
############################################ ## LATEX TEMPORARY FILES ############################################ *.log *.aux
時,git是不會去忽略*.log
或*.aux
檔案的。原因就是這些檔案已經被git給cache了,也就是被快取了。所以解決方案就是讓git重新去快取整個倉庫,把不想要的檔案統統通過重新快取這個操作來“丟”掉。
網上普遍的解決辦法(測試通過,有效)
注意命令最後的英文句號是要帶上的!
git rm -r --cached .
git add .
git commit -m 'updated .gitignore file'
這樣3條命令結束後,git就會將你不想要的檔案,從快取中丟掉,也就是終於使.gitignore
檔案生效。