Files
git-practice-Ajin/readme.md
2025-09-04 05:49:04 +00:00

1.3 KiB
Raw Blame History

1 Reproduce the situation

  • Initially, my repo had a file called readme.md.

  • I renamed it to README.md (only case change).

  • After running:

    git status

    Git showed no changes, meaning it did not detect the rename.

📸 Git readme Git did not show any changes after renaming readme.md → README.md

2 Investigate why Git is not tracking the rename

  • Git depends on the filesystem to detect changes.
  • On Windows (NTFS, FAT), the filesystem is case-insensitive.
  • That means readme.md and README.md are treated as the same file.
  • Because Windows reports no difference, Git assumes nothing happened.

3 Correct steps to make Git recognize and commit the rename

To force Git to recognize the case-only rename:

git mv -f readme.md README.md git commit -m "Rename readme.md to README.md"

4 Underlying reason

  • Git itself is case-sensitive → it can distinguish between readme.md and README.md.
  • Windows filesystems are case-insensitive → both names point to the same file.
  • On Linux/macOS (case-sensitive), Git would automatically detect the rename.
  • On Windows, we must explicitly force it with git mv -f.

Conclusion: Its due to the way Git (case-sensitive) interacts with Windows (case-insensitive) filesystems.