git设置大小写敏感问题

之前提交的文件夹名是小写,后来改成大写再提交,github上面出来大写和小写两份。如图:
图片描述

本地只有变成大写的三个文件夹,请教,这个问题是设置git大小写敏感引起的吗?如何在github上删掉小写开头的三个文件夹。本地没这小写的三个。

阅读 8.9k
3 个回答

首先讲一下:

  • git 本身是对大小写不敏感的
  • mac和window,默认也是对文件名不区分大小写的

所以,默认情况下如果你本地把文件夹小写的修改成大写的,然后提交,会导致github上存在一份大写的和一份小写的文件夹。

此时要删除掉github上的小写文件,需要做的是:

  • 在github删除该分支
  • 本地执行git rm -r --cached . (注意后面‘点号’)
  • 然后重新 git push,就ok了

前面说的是,本地已经手动把小写改成大写的情况。如果你还未改,那么通过git mv命令修改文件名,就直接ok了

目录和文件最好不要有大小写的区分,在windows是不认大小写的,在linux上是认大小写的,git遇到这种问题只能根据当前系统来,所以最好避免改大小写这种事情。你要覆盖掉github上面的东西的话,很简单啦,git push origin master -f(-f是强制push)

经本人测试, 可以使用 git mv 命令 解决这个问题:

$ git mv models Models

这时, git status 命令查看 会发现 models 是删除状态。

然后顺序执行 git add、 commit、push 即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题