You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统下Git不识别文件名大小写变更报bad source如何解决?

Windows系统Git文件名大小写重命名报错解决方案

问题原因

Windows默认使用的NTFS文件系统对文件名大小写不敏感,同时Git默认配置core.ignorecase = true,会忽略文件名大小写差异,因此直接修改文件名大小写或者执行git mv修改大小写时,会触发fatal: bad source报错。

解决方法

方案一:修改Git大小写忽略配置

  • 临时关闭当前仓库的大小写忽略配置:
    git config core.ignorecase false
  • 执行重命名操作:
    git mv Buypage BuyPage
  • 按需恢复默认配置,避免后续出现不必要的大小写冲突:
    git config core.ignorecase true
  • 提交变更即可:
    git commit -m "rename Buypage to BuyPage"

方案二:两步更名法(无需修改配置)

该方法通过中间过渡名绕过大写敏感校验,通用性更强:

  • 先将文件重命名为任意中间名:
    git mv Buypage temp_file
  • 再将中间名改为目标名称:
    git mv temp_file BuyPage
  • 提交变更即可。

方案三:适配已手动修改文件名的场景

如果已经手动把文件名改成了BuyPage,Git未识别变更,可直接操作Git缓存:

  • 删除Git缓存中旧名称的文件记录:
    git rm --cached Buypage
  • 添加新名称的文件到暂存区:
    git add BuyPage
  • 提交变更即可。

注意:如果是团队协作场景,操作完成后需要告知其他协作者拉取最新代码后,手动删除本地残留的旧名称文件,避免本地同时存在两个大小写不同的同路径文件,引发后续提交冲突。

内容的提问来源于stack exchange,提问作者minjae kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:15:03