解决 Git 文件名不区分大小写问题

发表于 2023-04-23

意想不到的大小写

在修改文件名的时候将文件 model.txt 修正为了 Model.txt

意外的发现同事那里的文件名并没有发生修正,还是原始的名字。

经过资料查询和验证可以直到,Windows 本身文件名不区分大小写,因此 Git 默认也不区分大小写。

解决方式

Git 提供了大小写敏感的设置项,并且默认开始忽略大小写敏感的配置项。

# 查看配置:忽略大小写敏感
git config --get core.ignorecase
# 查看所有配置项
git config --list
# 关闭:忽略大小写敏感
git config --global core.ignorecase false
# 关闭当前 Git 本地仓库:忽略大小写敏感
git config core.ignorecase false

快速处理已存在的大小写问题

在 Windows 操作系统中,虽然修正为了 Model.txt,但是通过访问代码仓库可以看到,文件仍然是 model.txt

如果只有这一个问题,不想去修改配置项,期望快速修复这个问题。

明白导致大小写的原因后,很简单。

第一种

直接访问代码仓库去修改文件名。

第二种

执行删除并提交;再重新创建并提交,就完成了文件名的修改。

其原理很简单,因为当前大小写不敏感,直接修改文件名无法识别到改动。

但是我删除并提交,再新增提交,是能够识别到改动操作。