配置 Git 使其大小写敏感:解决文件名大小写变更的识别问题

问题背景

Git 默认配置是大小写不敏感 的(尤其在 Windows 和 macOS 系统上)。这会导致一个常见问题:当你仅修改文件名的大小写(如 file.js → File.js)时,Git 无法识别变更。这是因为系统文件系统不区分大小写,而 Git 默认遵循系统行为。

典型问题场景:

bash 复制代码
# 重命名文件(仅修改大小写)
mv index.js Index.js

# 检查 Git 状态
git status
# 无变更显示!(但实际文件已重命名)

解决方案:启用大小写敏感配置

1️⃣ 仅针对当前仓库配置

在项目根目录执行:

bash 复制代码
git config core.ignorecase false

2️⃣ 全局配置(影响所有仓库)

bash 复制代码
git config --global core.ignorecase false

验证配置是否生效

bash 复制代码
git config --get core.ignorecase
# 返回 false 表示配置成功

最佳实践建议

bash 复制代码
# 推荐全局配置(避免遗忘)
git config --global core.ignorecase false

# 重要项目额外加固(提交配置到仓库)
echo "* text=auto" > .gitattributes
git add .gitattributes
git commit -m "Enforce case-sensitive config"

系统差异说明:

系统 默认行为 建议配置
Windows 不区分大小写 core.ignorecase false
macOS 不区分大小写 core.ignorecase false
Linux 区分大小写 无需修改
相关推荐
量化分析码农4 分钟前
【Python量化多因子实战 04】因子暴露不是 alpha:市值与行业中性化实战
前端·后端
不可能片场37 分钟前
Electron 发布 正文写入的三条通道与读回口径
前端·electron
jerrywus1 小时前
让 AI 帮你部署 Vercel,报错了也不用手动搬日志
前端·agent·mcp
补码缩写1 小时前
11 行 Python 拆 PNG 块,解压后的字节数能手算
前端
coding漫漫长路1 小时前
PNG压缩先看图是哪一类,先无损再量化多半白做
前端
用户257680763211 小时前
搜「洗牙」为什么搜不到「洁治」
前端
费曼学习法1 小时前
Agent 死循环的根因不在模型:错误分类、退避、熔断、快照四层实现
前端
修炼的dance1 小时前
同一张PNG换五种压法,体积差在颜色数上
前端
Lank_M1 小时前
PNG 有损压缩省下的体积,大头不在 deflate
前端
用户老李1 小时前
相机模型与标定自学教程 02:外参 \[R | t] 与完整投影链路
前端