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

Git合并master到release分支失败:大小写文件名冲突且工作树干净

解决Git大小写文件名冲突导致的合并失败问题

问题本质

Windows文件系统默认不区分大小写,即便设置了core.ignorecase=true,当master分支的驼峰命名文件和release分支的全小写同名文件共存时,Git无法在Windows环境下正确识别二者为不同文件,合并时就会触发“未跟踪文件将被覆盖”的错误——即便工作树已清理干净。

修复步骤

1. 开启当前仓库的大小写敏感

先在当前仓库临时覆盖全局设置,让Git区分文件名大小写:

git config core.ignorecase false

2. 重命名冲突文件(release分支下操作)

切换到release分支,把冲突的全小写文件临时重命名,避免和master分支的驼峰文件冲突:

git mv examplefile.txt examplefile-temp.txt
git commit -m "temp rename lowercase file to resolve case conflict"

3. 执行合并

现在尝试合并master分支:

git merge master

此时Git会正确识别两个大小写不同的文件,你可以根据需求选择:

  • 保留其中一个文件,删除另一个;
  • 手动合并两个文件的内容后,整理成符合规范的文件。

4. 清理收尾

如果要统一使用驼峰命名:

git rm examplefile-temp.txt
git commit -m "remove temp lowercase file, keep camelCase version"

如果要统一使用全小写命名:

git rm ExampleFile.txt
git mv examplefile-temp.txt examplefile.txt
git commit -m "keep lowercase version, remove camelCase file"

5. 恢复默认设置(可选)

处理完成后,可将当前仓库的大小写敏感设置改回全局默认:

git config core.ignorecase true

后续预防

  • 团队统一文件命名规范,杜绝大小写混用;
  • Windows环境下新建仓库时默认开启core.ignorecase=true,遇到跨分支大小写冲突时临时关闭该设置处理。

内容的提问来源于stack exchange,提问作者Tomáš Krupa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 23:30:59