当前位置: 首页 > news >正文

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 远程仓库里面手动删掉


http://www.mrgr.cn/news/14988.html

相关文章:

  • 【区块链 + 司法存证】神州契信区块链电子签约系统 | FISCO BCOS应用案例
  • java调用opencv的流程
  • 基于SpringBoot+Vue+MySQL的图书管理系统
  • 如何从头开始编写一个简单的 RPC 协议(手写 Dubbo 的自定义协议)
  • 【数模修炼之旅】10 遗传算法 深度解析(教程+代码)
  • 【PostgreSQL教程】PostgreSQL 高级篇之 视图
  • 【Java EE】JVM
  • OpenHarmony 实战开发——应用HAP包签名
  • 光学涡旋Talbot阵列照明器的matlab模拟与仿真
  • 【香橙派系列教程】(二十) 系统移植、交叉编译工具链—OrangePi Zero2 SDK说明
  • 100Kg大载重6轴共桨多旋翼无人机技术详解
  • 探索AWS EC2:提升企业云计算能力的理想选择
  • 【hot100篇-python刷题记录】【杨辉三角】
  • html table tbody deleteRow有残留?
  • 酒店预约小程序搭建,让酒店更加智能化
  • IDS、IPS和防火墙的区别是什么
  • 在Unity中使用C#进行Xml序列化时保留特定小数位的方法参考
  • Hive/Spark小文件解决方案(企业级实战)–参数和SQL优化
  • Spark2.x:通过 JDBC 连接数据库(DataFrame)
  • 设计模式 11 享元模式