1. 程式人生 > >git_舊瓶新酒?談.gitignore檔案不起作用的解決方案

git_舊瓶新酒?談.gitignore檔案不起作用的解決方案

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檔案生效。