問題
系統怪癖2026年8月24日在 Mac 把檔名從 Readme 改成 README,Git 為什麼常常當沒改?
GitAPFSmacOS
詳細說明
檔案系統先當它們是同一個檔
Git 文件寫明:core.ignoreCase 是內部變數,用來在不分大小寫的檔案系統上(文件點名 APFS、HFS+、FAT、NTFS)做變通。git clone 或 git init 會探測檔案系統,適當時自動設成 true。此後工作區裡的 makefile 和索引裡的 Makefile 會被當成同一個檔。你在 Finder 或 mv 只改大小寫,檔案系統回報的是同一個 inode,Git 就不記錄更名。
用 git mv,不要只在 Finder 改
GitHub 文件建議用命令列 git mv OLD-FILENAME NEW-FILENAME,這會把更名寫進暫存區。git status 應出現 renamed: Readme → README。不要為了「看得到大小寫」就在 Mac 上把 core.ignoreCase 設成 false:文件警告,改這個值可能造成意外行為。Linux 預設區分大小寫,所以 CI 上會炸的,往往是本機從來沒把大小寫更名提交上去。
也有人這樣問
Mac 改檔名大小寫 Git 沒反應、git mv README、core.ignorecase Mac、APFS 大小寫