1. 问题描述
今日, 使用MacOs的同事在更新项目的Git仓库时, 出现一个令人困惑的情况. 具体执行序列如下:
执行:
1) git status
结果: modified: ABC.xml
执行:
1) git reset --hard
2) git status
结果: modified: ABC.xml
执行:
1) git checkout .
2) git status
结果: modified: ABC.xml
执行:
1) ls
结果: abc.xml
2. 解决路径
- 在我的Ubuntu环境下, 仓库处于clean状态, 且该目录下有两个文件"abc.xml", "ABC.xml".
- 发现是由于Windows, Mac操作系统的文件系统不区分大小写导致的.
3. 解决方案
- 在Ubuntu下删除其中一个文件, 并提交.
- Mac, Windows环境下执行命令,
git pull # 更新仓库
git reset --hard origin/branch # reset到对应的远程分支
END.延伸
同理Mac,Windows下的分支也是忽略大小写的。