update readme file
This commit is contained in:
BIN
git_readme.png
Normal file
BIN
git_readme.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
36
readme.md
36
readme.md
@@ -1 +1,35 @@
|
|||||||
# Added readme file
|
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 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 (hint explanation)
|
||||||
|
|
||||||
|
- 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:
|
||||||
|
It’s due to the way Git (case-sensitive) interacts with Windows (case-insensitive) filesystems.
|
||||||
Reference in New Issue
Block a user