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