git项目中出现了相同名字的、大小写不同的文件夹,是因为Windows环境下git配置ignorecase默认为true,不区分大小写,而Linux环境区分。
如果本地分支在Windows,远程分支在Linux,那么当你把一个文件夹的小写改为大写,commit是不会体现这个变化,这样大写的文件夹就提交到了Linux服务器上,服务器会认为这是不同文件夹,因而出现了2份一样的文件夹,而里面的文件,可能一样,也可能不一样。
解决方案(比如,保留小写,删除大写。我是用TortoiseGit管理):
1、设置ignorecase=false,让本地提交可以识别大小写变化
2、将本地待修正的文件夹全部改为小写,然后提交,保证远程分支小写文件夹中的文件无缺失
3、删除本地所有待修正文件夹(当前是小写),然后在待commit列表中,会发现有大写,也有小写文件夹下的文件,均处于删除状态
4、仅勾选所有大写文件夹,然后提交,这样远程分支就仅仅删除了大写文件夹而保留了小写文件夹
5、pull一遍,将远程分支的小写文件夹拉到本地,就完成了
转载于:https://www.cnblogs.com/linys2333/p/10878402.html