跳到主要内容

git 默认对文件名大小写不敏感 (不区分文件名大小写)

· 阅读需 2 分钟
一介布衣
全栈开发者

git 默认不区分文件名大小写

当你创建一个文件后,叫 readme.md 写入内容后 提交到线上代码仓库.

然后你在本地修改文件名为 Readme.md 接着你去提交,发现代码没有变化.

git status

无任何提示信息.

其实 git 默认对于文件名大小写是不敏感的,所以上面你修改了首字母大写,但是git 并没有发现代码任何改动.

那么如何才能让 git 识别文件名大小写变化.

一 配置git 使其对文件名大小写敏感

git config core.ignorecase false

zhangzhi@moke:~/code/demo$ git config core.ignorecase false

二 从git 本地仓库删除此文件,然后添加再提交

(1) 删除

zhangzhi@moke:~/code/demo$ git rm readme.md

(2) 重新添加

zhangzhi@moke:~/code/demo$ git add Readme.md

(3)提交

zhangzhi@moke:~/code/demo$ git commit -m 'Readme.md'

推荐第一种方法,配置好git 对文件名大小写敏感.

这类工具技巧真正有价值的是把排错路径缩短

「git 默认对文件名大小写不敏感 (不区分文件名大小写)」这类文章看起来像一个小技巧,但它真正值钱的地方,在于帮你更快找到问题所在。很多编辑器、Git 或系统工具问题都不是概念复杂,而是第一次出错时缺少判断顺序,结果在错误方向上反复试。只要把“先看什么、再改什么、改完怎么确认”这条路径补完整,短文章也会更像一篇能反复回看的工作笔记。

下次再遇到时我会怎么判断

  • 先确认症状是配置问题、状态残留,还是工具本身的默认行为,不要一上来就重装或删文件。
  • 每改一项设置都要有对应的验证动作,确保最后留下的是可复现的解决路径,而不是碰巧恢复。
  • 如果一个技巧会影响团队其他人的默认工作流,最好顺手补一句适用边界,避免它变成新的坑。