git默认不区分大小写问题

145 阅读1分钟

git默认大小写不敏感,导致同一个文件从BaseIconWeChat变为BaseIconWechat会有问题,虽然本地变为了BaseIconWechat,但是远程没有变化

方法一:规范重命名

把当前文件夹或者文件名改了过后提交一次,然后在改回来,在提交一次,无后遗症

git mv BaseIconWeChat 暂存
git add .
git commit -m '完美解决git大小写不敏感导致的问题'

在改到想要的名字

git mv 暂存 BaseIconWechat
git add .
git commit -m '完美解决git大小写不敏感导致的问题'

方法二:修改大小写配置(不推荐)

修改 git 配置为不忽略大小写:git config core.ignorecase false

然后直接在资源管理器或编辑器中修改文件名大小写,git 就会识别到了,而且是被识别为 untracked 类型的变更,这依然是 Windows 下对文件名大小写不敏感导致的

如果直接推送到远程的话,那么远程仓库就会同时存在大小写两个版本的文件(github/gitlab 服务器通常都是 Linux 系统),为后期维护添加隐患,本地在分支间切换时也可能出现以下报错:

image.png

这种情况下用 git checkout -f 解决切分支问题,然后清理掉有问题分支

因为虽然本地改了名字,但是远程库里面(github/gitlab)还是有两个名字的文件

image.png

image.png

新人进来或者重新git clone 仓库还会有这个警告

image.png