欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > Windows中Git对文件名大小写不敏感的问题解决方法

Windows中Git对文件名大小写不敏感的问题解决方法

2025/2/25 2:00:02 来源:https://blog.csdn.net/qq_41908302/article/details/141671388  浏览:    关键词:Windows中Git对文件名大小写不敏感的问题解决方法

文章目录

  • 前言
  • 一、Git 对文件名大小写不敏感
    • 方法1.使用git命令进行修改
    • 方法2.关闭git 忽略大小写配置 (可以当前项目设置,也可以全局设置 --global)
  • 二、新的问题(重复的目录)
    • 原因分析
    • 解决方法


前言

Git是一个免费的、开源的分布式版本控制系统,可以高速处理从小型到大型的各种项目
版本控制:是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统
git

– 集中式版本控制工具:如CVS、SVN等,都有一个单一的几种管理服务器,保存所有文件的修订版本,而协同工作的人通过客户端连接到这台服务器,从而取出最新的文件或者提交更新。缺点:中央服务器的单点故障;多(程序员)对一(中央服务器)
– 分布式版本控制工具:如git,客户端取的不是最新的文件快照,而是把代码仓库完整的镜像下来到本地库(克隆/备份)


一、Git 对文件名大小写不敏感

默认情况下,在windows系统中,git不区分文件名大小写(linux系统会区分),所以如果开发环境是windows系统的话,当我们修改文件名大小写时,git无法识别出文件的变化,导致仓库和本地环境的文件名不一致。

查看本地状态:git status

方法1.使用git命令进行修改

git mv -f [你想要删掉的文件] [你想要留下的文件] 
git mv -f a.c A.c等同于: 
git rm a.c 
git add A.c将文件从一个目录移动到另一个目录
git mv test-dir TEST-DIR如果是重命名文件夹,由于 Windows 下对文件夹的大小写也不敏感(-_-),所以直接使用上面的方法会失败:
# Rename from 'test-dir' to 'Test-dir/test-dir' failed.解决方法,需要找个中间名
git mv test-dir tmp
git mv tmp TEST-DIR

方法2.关闭git 忽略大小写配置 (可以当前项目设置,也可以全局设置 --global)

执行 git config --get core.ignorecase 查看当前配置,不出意外,返回true执行 git config core.ignorecase false 修改配置,关闭 git 忽略大小写配置# 全局配置
git --global config core.ignoreCase false

注意:如果你修改文件目录的名字后,再执行方式二,会出现新的问题。
我们建议用方式一修改目录后,再执行方式二。或者,我们执行方式二后,再随便修改目录。

二、新的问题(重复的目录)

假设我们将原来的 UDS目录修改 uds 目录,则仓库会出现以下两种现象:

现象一:当关闭git 忽略大小写配置后,我们将修改push到远程仓库。这时会出现一个新的问题:UDS目录和 uds目录会同时存在 github 远程仓库里面。

现象二:clone和pull下来的文件却只有 uds目录。

原因分析

现象一原因:github 远程仓库对大小写敏感,可以区分 UDS目录 和 uds

现象二原因:在仓库克隆或初始化时,根据当前系统来设置是否忽略大小写。因此, UDS目录 和 uds目录会冲突,UDS目录里面的内容被覆盖。

解决方法

到 github 远程仓库里面手动删掉

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词