git 提交,文件名大小写的修改提交不上去?解决办法在这里
·
git 默认对文件名的大小写敏感
但是会在仓库克隆或初始化时,根据当前系统来设置是否忽略大小写
比如 Windows 下会设置为
true
→ 不区分大小写,而 Linux 中为 false;git config core.ignorecase // 可使用此命令来查看你的 git 是否对文件名大小写敏感:为 true 则不敏感,为 false 则敏感
解决办法一:
文件重命名命令
git mv test.txt TEST.txt // 将 test.txt 重命名为 TEST.txt
但是如果重命名 文件夹 ,直接使用上述命令会报错,可以如下这样迂回修改:
git mv test-dir tmp
git mv tmp TEST-DIR
// 使用 tmp 做一下中间转换 (tmp可以随意起哈)
解决办法二:
把待改名的文件先剪切到其他文件夹内 → 提交代码 → 然后再剪切到原本的目录下 → 提交代码。
方法简单没后遗症。
解决办法三:(不建议)
可执行以下命令更改 git 设置,使其区分文件名的大小写。【 但是不建议使用,还是默认系统的配置好。这种操作会导致远程仓库有问题。】
git config core.ignorecase false
然后正常提交代码,修改会被识别为 untracked
类型的变更,如果直接推送到远程的话,那么远程仓库会同时存在大小写两个版本的文件(本地一切正常)
此时需要手动删除远程仓库名字错误的文件。或者采用迂回战术,先把文件改个其他名,在改成正确的。
这里提供删除文件和文件夹的命令
// 进入到待删除的目录
// 删除文件命令
git rm -r --cached text /a.txt // 删除test文件夹下的a.txt文件,加入到删除缓存中
// 删除文件夹命令
git rm -r --cached text // 删除test文件夹,加入到删除缓存中
git commit -m "注释" // 把修改提交到本地版本库
git push // 推送操作到远程仓库
参考:https://knightyun.github.io/2021/01/18/git-ignorecase
更多推荐
已为社区贡献4条内容
所有评论(0)