error - git - git修改文件夹名大小写不生效

error - git - git修改文件夹名大小写不生效

原因 - git默认是大小写不敏感

环境

  • git version 2.32.0.windows.1
  • vscode GitLens

问题描述



测试

vscode GitLens

提交

修改文件夹名称 test -> Test

无记录,修改文件夹内文件

提交记录处仍为小写
提交gitee

git brash

修改文件夹名称 Test -> test

未生效,修改文件夹名称 test -> TEST

无暂存记录,修改文件夹内文件看看

文件夹名称仍未生效

原因 - git默认是大小写不敏感

当git上文件名大小写重命名的修改时(git大小写敏感/默认不敏感),如何重命名并提交

解决方案

git设置成大小写敏感 git config core.ignorecase false(其实这也是个坑)

git大小写不敏感,也就是默认的情况(建议默认)

使用命令:git mv DataExt.xml Dataext.xml

ps: 文件夹重命名 git mv foldername tempname && git mv tempname folderName (在大小写不敏感的系统中,如windows,重命名文件夹的大小写,使用临时文件名)

设置了大小写敏感的怎么提交:(不建议设置)

为什么说设置了大小写敏感也是个坑,因为

分支 文件
A DataExt.java
B Dataext.java

我在本地的分支B设置了git config core.ignorecase false,并且文件是小写的Dataext.java,接下来如果merge了分支A的话,会出现错误:

error: The following untracked working tree files would be overwritten by merge:

意思是:分支A中的DataExt.java将会重写分支B的文件

那这样的话,假设路人甲和乙都是使用分支A的,你merge他们,就会提示文件将被重写。。。坑啊!

解决方法都是将core.ignorecase设置为true,然后再进行操作,那设置为false又有何意义?

哎。。。对于设置了大小写敏感的修改文件名大小写要怎么提交呢?

首先 记住 将你的文件备份

然后删除git rm DataExt.java,将备份文件重命名Dataext.java放到路径下,添加git add Dataext.java,提交git commit -m '提交说明'

posted @ 2021-11-11 10:33  zc-lee  阅读(1138)  评论(0编辑  收藏  举报