1、问题:
在git项目中,已push到远程的文件夹或文件,将其名称大小写修改,修改git无法检测出。
2、原因:
git的默认配置忽略大小写
3、解决方案:
(1)命令1(不推荐)
git config core.ignorecase false
使用这个命令修改后push成功,但合并到其他分支的时候出现一些问题,如下:
error: The following untracked working tree files would be overwritten by checkout:
省略...
Please move or remove them before you can switch branches.
Aborting
(2)命令2
git mv -f oldFile newFile
如:
git mv -f index.html Index.html
命令具体的意思可查看链接:https://git-scm.com/docs/git-mv
注意:移动,删除文件夹时
1. 将文件夹的名称从旧文件夹更改为新文件夹
git mv oldfolder newfolder
2. 如果新文件夹已存在于您的存储库中,并且您想覆盖它并使用: - force
git mv -f oldfolder newfolder
使用git mv重命名之后,需将这些更改添加到索引中并提交它们。
3. 在不区分大小写的文件系统上将文件夹foldername重命名为folderName,如Mac
例如使用下面一行'git mv'的命令:
git mv foldername folderName
如果是在不区分大小写的文件系统,例如在Mac上并且未将其配置为区分大小写,会遇到如下误消息:
fatal: renaming 'pages/foldername' failed: Invalid argument
可以执行以下命令来使其工作:
git mv foldername temporaryName && git mv temporaryName folderName
// (先把文件夹的内容移动到名称完全不一样的文件夹,再移回动新名称的文件夹)