Question
System QuirksAug 24, 2026On a Mac, why does Git often ignore renaming Readme to README?
Details
The filesystem already treats them as one file
Git’s config manual is explicit: core.ignoreCase is an internal variable that turns on workarounds for filesystems that are not case sensitive, and it names APFS, HFS+, FAT, and NTFS. git clone and git init probe the filesystem and set it true when that fits. After that, a working-tree makefile and an index Makefile are treated as the same path. Rename only the case in Finder or with mv, and the filesystem reports the same inode. Git records nothing.
Use git mv; Finder is not enough
GitHub’s docs tell you to rename from the command line with git mv OLD-FILENAME NEW-FILENAME, which stages the rename. git status should then show renamed: Readme → README. Do not flip core.ignoreCase to false on a Mac just so Git “sees” case: the manual warns that changing the value can produce unexpected behavior. Linux is case-sensitive by default, so the CI breakage is often just a case-only rename that never left your laptop.
Also Asked As
git rename case Mac · git mv README · core.ignorecase macOS · APFS case insensitive git