windows和git不区分文件名大小写问题及解决

 更新时间:2026年09月28日 11:09:32   作者:_洋  
还在为Windows下Git不识别文件名大小写变更而烦恼吗?本文详细讲解Windows文件系统默认不区分大小写的原因,并提供通过命令行开启目录区分大小写以及配置Git大小写敏感的实用方法,帮助开发者解决跨平台协作中的常见问题
  • 法一:开发者规范文件命名,统一小驼峰或大驼峰
  • 法二:Windows开发者设置区分大小写(这里探究)

windows不区分大小写

Windows 文件系统在默认情况下是不区分大小写的,这意味着文件名 example.txt 和 Example.txt 被视为同一个文件。

Windows 文件系统FAT(File Allocation Table)不区分大小写。

windows设置区分文件大小写

官方文档:https://learn.microsoft.com/zh-cn/windows/wsl/case-sensitivity

检查当前目录是否区分大小写

fsutil file queryCaseSensitiveInfo <path>

将 <path> 替换为目录。

修改区分大小写(需要管理员身份)

fsutil file setCaseSensitiveInfo <path> enable

将目录更改回默认设置不区分大小写(需要管理员身份)

fsutil.exe file setCaseSensitiveInfo <path> disable

目录必须为空,才能更改该目录的区分大小写标志属性。

git不区分大小写

在Windows系统里,当 仅修改文件名大小写 时,git未检测到文件变更。

这个行为是由文件系统的不同规则引起的:

  • 在类Unix文件系统(例如Linux和macOS)上,文件名是区分大小写的
  • 而在Windows文件系统上,默认情况下是不区分大小写的

git 默认对大小写敏感,但是会在仓库克隆或初始化时,根据当前系统来设置是否忽略大小写

git设置区分文件大小写

检查当前git是否区分大小写

git config core.ignorecase 
  • false:区分大小写
  • true:不区分大小写

将 Git 设置为区分大小写 (FOO.txt ≠ foo.txt),请输入:

git config core.ignorecase false

要将 Git 设置为不区分大小写 (FOO.txt = foo.txt),请输入:

git config core.ignorecase true

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在Infopath中实现数据有效性验证的三种方法

    在Infopath中实现数据有效性验证的三种方法

    Infopath是微软Office办公软件家族中的成员之一,它主要的功能是面向客户端收集XML数据,并按照预期定义的格式生成XML文件,它以可视化表单的形式收集数据,并且支持C#编程接口以及外部数据源等。
    2010-06-06
  • Gitlab新建用户无法收到邮件的问题解决办法

    Gitlab新建用户无法收到邮件的问题解决办法

    在配置GitLab邮件服务时,可能因为环境或版本差异遇到问题,本文就来介绍一下Gitlab新建用户无法收到邮件的问题解决办法,感兴趣的可以了解一下
    2024-11-11
  • 详解scratch3.0二次开发之scratch-blocks中的blocks的类型、定义和使用方法

    详解scratch3.0二次开发之scratch-blocks中的blocks的类型、定义和使用方法

    scratch-blocks是scratch-gui依赖的一个基本模块,blocks的作用是通过拖曳的方法组成blocks堆块,今天通过本文给大家分享scratch3.0二次开发之scratch-blocks的免编译修改方法,感兴趣的朋友一起看看吧
    2021-08-08
  • 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)

    将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)

    这篇文章主要介绍了将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库),需要的朋友可以参考下
    2015-11-11
  • Web 设计与开发者必须知道的 15 个站点

    Web 设计与开发者必须知道的 15 个站点

    今天读到一篇文章,介绍了15个对 Web 设计与开发师极端有用的站点,里面有不少也是我们一直在使用的,也许对很多人都有用,翻译出来以饷同仁。
    2009-08-08
  • git仓库配置及仓库特性详解

    git仓库配置及仓库特性详解

    本文简述了Git仓库初始化、配置及数据管理流程,涵盖文件状态(未跟踪、未修改、已修改、已暂存)的划分与操作,强调通过git add和git commit提交数据,并利用git status检查状态,说明不同状态下的文件处理方式
    2025-09-09
  • HTML5的<input>标签的`type`属性值详解和代码示例

    HTML5的<input>标签的`type`属性值详解和代码示例

    HTML5的`<input>`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、多行文本输入、单选按钮、复选框、下拉选择框、数值输入、日期选择、文件上传到提交、重置、普通按钮等,每种类型都有其特定的用途和使用场景
    2025-12-12
  • 编程人员阅读代码的一些小技巧分享

    编程人员阅读代码的一些小技巧分享

    阅读别人的代码作为研发人员是一件经常要做的事情。一个是学习新的编程语言的时候通过阅读别人的代码是个最佳的学习方法,另外是积累编程经验。
    2011-01-01
  • git如何合并某个分支的某次提交(cherry-pick)

    git如何合并某个分支的某次提交(cherry-pick)

    这篇文章主要介绍了git如何合并某个分支的某次提交(cherry-pick)问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • GitLab使用外部提供的Redis缓存数据库的方法详解

    GitLab使用外部提供的Redis缓存数据库的方法详解

    这篇文章主要介绍了GitLab: 如何使用外部提供的Redis缓存数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09

最新评论