Git 对文件名大小写不敏感的问题解决方案
目录
- 一、Git 对文件名大小写不敏感
- 1.1 问题描述
- 1.2 原因分析
- 1.3 解决方案
- 方式一:使用git命令进行修改
- 方式二:关闭git 忽略大小写配置 (可以当前项目设置,也可以全局设置 `--global`)
- 二、新的问题(重复的目录)
- 2.1 问题描述
- 2.2 原因分析
- 2.3 解决方案
- 三、总结
- 参考资料
一、Git 对文件名大小写不敏感
1.1 问题描述
在Windows系统里,当 仅修改文件名大小写 时,git未检测到文件变更
1.2 原因分析
这个行为是由文件系统的不同规则引起的。
- 在类Unix文件系统(例如Linux和macOS)上,文件名是区分大小写的,
- 而在Windows文件系统上,默认情况下是不区分大小写的。
git 默认对大小写敏感,但是会在仓库克隆或初始化时,根据当前系统来设置是否忽略大小写,比如 Windows 下会设置为 true,即不敏感,而 Linux 中不会忽略;
引用官方原文的话:
The default is
false, exceptgit-cloneorgit-initwill probe and set core.ignoreCasetrueif appropriate when the repository is created.
1.3 解决方案
注意:如果你修改文件目录的名字后,再执行方式二,会出现新的问题。
我们建议用方式一修改目录后,再执行方式二。或者,我们执行方式二后,再随便修改目录。
方式一:使用git命令进行修改
使用 git mv 命令修改文件名
git mv -f [你想要删掉的文件] [你想要留下的文件]
git mv -f a.js A.js 等同于:
git rm a.js
git add A.js
将文件从一个目录移动到另一个目录
git mv test-dir TEST-DIR
如果是重命名文件夹,由于 Windows 下对文件夹的大小写也不敏感(-_-),所以直接使用上面的方法会失败:
git mv test-dir TEST-DIR# Rename from 'test-dir' to 'Test-dir/test-dir' failed.
这里就只有迂回一下,先把文件夹命名成其他名称,然后再命名为大写就行了:
git mv test-dir tmp
git mv tmp TEST-DIR
方式二:关闭git 忽略大小写配置 (可以当前项目设置,也可以全局设置 --global)
执行 git config core.ignorecase 查看当前配置,不出意外,返回true
执行 git config core.ignorecase false 修改配置,关闭 git 忽略大小写配置
二、新的问题(重复的目录)
2.1 问题描述
假设我们将原来的 Java 目录修改 java 目录,则仓库会出现以下两种现象:
-
现象一:当关闭git 忽略大小写配置后,我们将 修改 push到远程仓库。这时会出现一个新的问题:
Java目录和java目录会同时存在 github 远程仓库里面。 -
现象二:
clone和pull下来的文件却只有java目录。
2.2 原因分析
现象一原因:github 远程仓库对大小写敏感,可以区分 Java 目录 和 java
现象二原因:在仓库克隆或初始化时,根据当前系统来设置是否忽略大小写。因此, Java 目录 和 java 目录会冲突,Java 目录里面的内容被覆盖。
2.3 解决方案
解决方案查看:解决 Git 默认不区分文件名大小写和同名文件共存的问题 - 简书 (jianshu.com),
- 到 github 远程仓库里面手动删掉
- 在 linux系统里,git clong 仓库,将重复的目录给删掉,然后 push。
三、总结
在 Windows 系统里面运行 git 时,我们尽量开启 git config core.ignorecase false 这一配置。
参考资料
Git 仓库中文件名大小写问题 (knightyun.github.io)
Git文件名大小写不敏感问题及解决方案 - 掘金 (juejin.cn)
相关文章:
Git 对文件名大小写不敏感的问题解决方案
目录 一、Git 对文件名大小写不敏感1.1 问题描述1.2 原因分析1.3 解决方案方式一:使用git命令进行修改方式二:关闭git 忽略大小写配置 (可以当前项目设置,也可以全局设置 --global) 二、新的问题(重复的目录…...
Java复习系列之阶段三:框架原理
1. Spring 1.1 核心功能 1. IOC容器 IOC,全称为控制反转(Inversion of Control),是一种软件设计原则,用于减少计算机代码之间的耦合度。控制反转的核心思想是将传统程序中对象的创建和绑定由程序代码直接控制转移到…...
【Python】01快速上手爬虫案例一:搞定豆瓣读书
文章目录 前言一、VSCodePython环境搭建二、爬虫案例一1、爬取第一页数据2、爬取所有页数据3、格式化html数据4、导出excel文件 前言 实战是最好的老师,直接案例操作,快速上手。 案例一,爬取数据,最终效果图: 一、VS…...
JavaEE 网络编程
JavaEE 网络编程 文章目录 JavaEE 网络编程引子1. 网络编程-相关概念1.1 基本概念1.2 发送端和接收端1.3 请求和响应1.4 客户端和服务端 2. Socket 套接字2.1 数据包套接字通信模型2.2 流套接字通信模型2.3 Socket编程注意事项 3. UDP数据报套接字编程3.1 DatagramSocket3.2 Da…...
5.rk3588用cv读取图片(C++)
rk3588自带了cv,不需要重新安装,执行以下操作即可: 一、读取图片 1.读取某张图片 #define HAVE_OPENCV_VIDEO #define HAVE_OPENCV_VIDEOIO#include <opencv2/opencv.hpp> #include <iostream> #include <opencv2/opencv.h…...
Github 无法正常访问?一招解决
查询IP网址: https://ip.chinaz.com/ 主页如下: 分别查询以下三个网址的IP: github.com github.global.ssl.fastly.net assets-cdn.github.com 修改 hosts 文件: 将 /etc/hosts 复制到 home 下 sudo cp /etc/hosts ./ gedit hosts 在底下…...
架构师的36项修炼-08系统的安全架构设计
本课时讲解系统的安全架构。 本节课主要讲 Web 的攻击与防护、信息的加解密与反垃圾。其中 Web 攻击方式包括 XSS 跨站点脚本攻击、SQL 注入攻击和 CSRF 跨站点请求伪造攻击;防护手段主要有消毒过滤、SQL 参数绑定、验证码和防火墙;加密手段,…...
docker 构建应用
docker 应用程序开发手册 开发 docker 镜像 Dockerfile 非常容易定义镜像内容由一系列指令和参数构成的脚本文件每一条指令构建一层一个 Dockerfile 文件包含了构建镜像的一套完整指令指令不区分大小写,但是一般建议都是大写从头到尾按顺序执行指令必须以 FROM 指…...
Go语言grpc服务开发——Protocol Buffer
文章目录 一、Protocol Buffer简介二、Protocol Buffer编译器安装三、proto3语言指南四、序列化与反序列化五、引入grpc-gateway1、插件安装2、定义proto文件3、生成go文件4、实现Service服务5、gRPC服务启动方法6、gateway服务启动方法7、main函数启动8、验证 相关参考链接&am…...
【开源】基于JAVA语言的实验室耗材管理系统
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 耗材档案模块2.2 耗材入库模块2.3 耗材出库模块2.4 耗材申请模块2.5 耗材审核模块 三、系统展示四、核心代码4.1 查询耗材品类4.2 查询资产出库清单4.3 资产出库4.4 查询入库单4.5 资产入库 五、免责说明 一、摘要 1.1…...
金智易表通构建学生缴费数据查询+帆软构建缴费大数据报表并整合到微服务
使用金智易表通挂接外部数据,快速建设查询类服务,本次构建学生欠费数据查询,共有3块设计,规划如下: 1、欠费明细查询:学校领导和财务处等部门可查询全校欠费学生明细数据;各二级学院教职工可查询本二级学院欠费学生明细数据。 2、大数据统计报表:从应收总额、欠费总额…...
MySQL复合索引
复合索引是指在数据库表上同时包含两个或更多列的索引。它们对于优化涉及这些列的查询非常有效,特别是当这些列常常在查询条件(如WHERE子句)、排序(ORDER BY子句)和连接(JOIN条件)中使用时。 复…...
Web3 游戏开发者的数据分析指南
作者:lesleyfootprint.network 在竞争激烈的 Web3 游戏行业中,成功不仅仅取决于游戏的发布,还需要在游戏运营过程中有高度的敏锐性,以应对下一次牛市的来临。 人们对 2024 年的游戏行业充满信心。A16Z GAMES 和 GAMES FUND ONE …...
temu跨境电商怎么样?做temu蓝海项目有哪些优势?
在全球电商市场激烈的竞争中,Temu跨境电商平台以其独特的优势和策略,逐渐崭露头角。对于许多想要拓展海外市场的商家来说,Temu的蓝海项目提供了一个充满机遇的新平台。本文将深入探讨Temu跨境电商的优势以及在蓝海市场中的发展前景。 全球化市…...
C#使用RabbitMQ-1_Docker部署并在c#中实现简单模式消息代理
介绍 RabbitMQ是一个开源的消息队列系统,实现了高级消息队列协议(AMQP)。 🍀RabbitMQ起源于金融系统,现在广泛应用于各种分布式系统中。它的主要功能是在应用程序之间提供异步消息传递,实现系统间的解耦和…...
EasyExcel中自定义拦截器的运用
在EasyExcel中自定义拦截器不仅可以帮助我们不止步于数据的填充,而且可以对样式、单元格合并等带来便捷的功能。下面直接开始 我们定义一个MergeWriteHandler的类继承AbstractMergeStrategy实现CellWriteHandler public class MergeLastWriteHandler extends Abst…...
shell编程-7
shell学习第7天 sed的学习1.sed是什么2.sed有两个空间pattern hold3.sed的语法4. sed里单引号和双引号的区别:5.sed的查找方式6.sed的命令sed的标签用法sed的a命令:追加sed的i命令:根据行号插入sed的c命令:整行替换sed的r命令sed的s命令:替换sed的d命令:删除sed中的&符号 7…...
工业智能网关储能物联网应用实现能源的高效利用及远程管理
储能电力物联网是指利用物联网技术和储能技术相结合,实现对电力系统中各种储能设备的智能管理和优化控制。随着可再生能源的不断发展和应用,电力系统面临着越来越大的电力调度和储能需求而储能电力物联网的出现可以有效解决这一问题,提高电力…...
虹科数字化与AR部门升级为安宝特AR子公司
致关心虹科AR的朋友们: 感谢您一直以来对虹科数字化与AR的支持和信任,为了更好地满足市场需求和公司发展的需要,虹科数字化与AR部门现已升级为虹科旗下独立子公司,并正式更名为“安宝特AR”。 ”虹科数字化与AR“自成立以来&…...
服务器是什么?(四种服务器类型)
服务器 服务器定义广义: 专门给其他机器提供服务的计算机。狭义:一台高性能的计算机,通过网络提供外部计算机一些业务服务 个人PC内存大概8G,服务器内存128G起步 服务器是什么 服务器指的是 网络中能对其他机器提供某些服务的计算机系统 ,相对…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践,很多人以为AI已经强大到不需要程序员了,其实不是,AI更加需要程序员,普通人…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
