不得不说
Git
默认不区分文件名大小写真是一个大坑,由于之前的项目目录比较乱,项目下的文件夹命名都不规范,这两天一直在整理,然后今天从服务器将项目重新clone
下来后发现,之前将所有文件名首字母改成大写的改动全部没变,本地又测试了一下后发现Git
提交文件名称默认是不区分大小写的,之前的整理又得重新做一遍,下面就分享一下怎么解决这个问题。
当你创建一个仓库后,添加一个文件叫
README.md
,然后再提交推送到远程仓库。然后你在本地将刚才的文件名修改为
readme.md
,接着你去提交,发现没有任何改动可以提交。所以
Git
默认对于文件名大小写是不敏感的,所以上面虽然修改了文件名大小写,但是Git
并没有发现有任何的改动。
解决办法
- 打开终端
cd
到本地项目的Git
仓库下,输入以下命令来配置Git
使其对文件名大小写敏感。
git config core.ignorecase false
修改完成后,当你修改文件名大小写时,
Git
就会提示有提交信息了。但是这时候如果直接提交推送的话,会出现一个情况,本地仓库明明只有一个文件,并且文件名改成了小写
readme.md
。
- 但是远程仓库上大写的
README.md
却没有被删除,居然同时存在了,并且Git
也没有提示任何的提交信息,这个非常之坑。
- 更加坑爹的是当你把本地仓库删掉后,重新从远程仓库
clone
下来发现,还是只有小写的readme.md
这一个文件。
- 至于为什么会这样,我也不知道,只能等待大神来解释一下,我的解决办法就是先将原来的大写文件
README.md
从远程仓库删除,然后再将修改后的readme.md
添加进去再提交推送。
希望有大神能够有其他更有效的解决办法。
将来的你,一定会感激现在拼命的自己,愿自己与读者的开发之路无限美好。