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

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值