Git 追蹤檔案更新無效:.gitignore 不生效與大小寫問題
整理 .gitignore 不生效與 Git 無法辨識檔名大小寫變更的原因,以及清除快取、開啟大小寫追蹤與正確更名三種解法。
CChia1104
- 筆記
- 1 分鐘閱讀
之前在做開發時很常遇到兩種 git 情況
- 更新
.gitignore後,已追蹤的檔案無法被忽略。 - 更新大小寫檔名,無法被追蹤。
.gitignore 不生效
原因是因為在 git ignore 目錄中,新建的檔案在 git 中會有緩存,如果某些檔案已經被納入了版控中,就算是加在 .gitignore 中也是不起作用的,這時候我們可以把本地快取刪除,然後再進行 git 的 commit 即可
git rm -r --cached .
git add .
git commit -m "fix: update .gitignore"這裡用 git rm -r --cached . 是所有的檔案緩存清除,也可以各別下檔案路徑。
Git 的檔案名稱大小寫追蹤
git 預設是不追蹤大小寫變更的。
- 若是遇到這問題,也可以先把緩存清掉再 commit 一次即可。
git rm -r --cached .
git add .
git commit -m "fix: update file name"- 另一種解法是直接設定讓 git 追蹤大小寫的變更。
git config --local core.ignorecase false- 最後的解法是直接透過 git 來更改檔名
git mv -f readme.md README.mdWritten by: Chia1104 CC BY-NC-SA 4.0