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, except git-clone or git-init will probe and set core.ignoreCase true if 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 远程仓库里面

  • 现象二:clonepull下来的文件却只有 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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/649727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web3:B站chainlink课程Lesson5遇到的小坑汇总

ethers代码 我用的ethers.js 6 ,和视频里一样用的是5的不用看代码部分 ethers.providers.JsonRpcProvider("server") //无了 ethers.JsonRpcProvider("server") //现在的wallet.getTransactionCount() //无了 wallet.getNonce() //现在的Big…

已解决:安卓,怎么优雅接入科大讯飞语音评测功能?

写在前面: 网上关于讯飞接入的博客都很少,按说讯飞都是业界翘楚,不知为何,很少搜索到精品,一搜就是一个要求开会员的博客,我也是醉了。讯飞提供的文档也是不清晰,我是摸着石头过河,…

java集合ArrayList和HashSet的fail-fast与fail-safe以及ConcurrentModificationException

在 java 的集合工具类中&#xff0c;例如对 ArrayList 或者 HashSet 进行删除元素后再遍历元素时&#xff0c;会抛出 ConcurrentModificationException 异常。 fail-fast ArrayList public class TestList {public static void main(String[] args) {ArrayList<Integer>…

【iOS ARKit】BlendShapes

BlendShapes 基础介绍 利用前置摄像头采集到的用户面部表情特征&#xff0c;ARKit 提供了一种更加抽象的表示面部表情的方式&#xff0c;这种表示方式叫作 BlendShapes,BlendShapes 可以翻译成形状融合&#xff0c;在3ds Max 中也叫变形器&#xff0c;这个概念原本用于描述通过…

Ubuntu18编译jdk8源码

环境 系统 ubuntu18 Linux ubuntu 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux jdk源码openjdk-8u41-src-b04-14_jan_2020.zip bootJdk jdk-8u391-linux-x64.tar.gz ps -e|grep ssh sudo apt-get install ssh…

【MATLAB第92期】基于MATLAB的集成聚合多输入单输出回归预测方法(LSBoost、Bag)含自动优化超参数和特征敏感性分析功能

【MATLAB第92期】基于MATLAB的集成聚合多输入单输出回归预测方法&#xff08;LSBoost、Bag&#xff09;含自动优化超参数和特征敏感性分析功能 本文展示多种非常用多输入单输出回归预测模型效果。 注&#xff1a;每次运行数据训练集测试集为随机&#xff0c;故对比不严谨&…

京东广告算法架构体系建设--在线模型系统分布式异构计算演变 | 京东零售广告技术团队

一、现状介绍 算法策略在广告行业中起着重要的作用&#xff0c;它可以帮助广告主和广告平台更好地理解用户行为和兴趣&#xff0c;从而优化广告投放策略&#xff0c;提高广告点击率和转化率。模型系统作为承载算法策略的载体&#xff0c;目前承载搜索、推荐、首焦、站外等众多广…

Linux 远程服务器与本地互传文件

本地传远程服务器: 你可以使用 scp 命令将整个文件夹复制到远程服务器上。以下是一个示例命令&#xff1a; scp -r /home/wanghaiyang/Documents/DockerServer/docker_compose_project/apollo apollo254.564.257.12:/home/apollo/code/docker_compose/ 请确保将 /home/wangh…

Word插入音乐视频文件快速方法 exe zip doc apk txt pdf bat等

需求&#xff1a; Word插入文件有哪些极限操作&#xff1f;如何快速插入音乐视频等文件 问题解决&#xff1a; 使用拖动进行文件快速插入&#xff08;PPT Excle 同理&#xff09; 操作 1.让文件和word界面处于同一屏幕&#xff0c;可以使用分屏 2.鼠标选中文件左键或者使用笔…

一些反序列化总结

1 反序列化漏洞原理 如果反序列化的内容就是那串字符串&#xff0c;是用户可以控制的&#xff08;即变量的值&#xff09;&#xff0c;且后台不正当的使用了PHP中的魔法函数&#xff0c;就会导致反序列化漏洞&#xff0c;可以执行任意命令。Java 序列化指 Java 对象转换为字节序…

面试经典 150 题 ---- 合并两个有序数组

面试经典 150 题 ---- 合并两个有序数组 合并两个有序数组方法一&#xff1a;直接合并后排序方法二&#xff1a;双指针方法三&#xff1a;逆向双指针 合并两个有序数组 方法一&#xff1a;直接合并后排序 这种方法最简单&#xff0c;直接将 nums2 的数组放到 nums1 数组的尾部…

Flink问题解决及性能调优-【Flink根据不同场景状态后端使用调优】

Flink 实时groupby聚合场景操作时&#xff0c;由于使用的是rocksdb状态后端&#xff0c;发现CPU的高负载卡在rocksdb的读写上&#xff0c;导致上游算子背压特别大。通过调优使用hashmap状态后端代替rocksdb状态后端&#xff0c;使吞吐量有了质的飞跃&#xff08;20倍的性能提升…

2024年,你是否还在迷茫?

2024年&#xff0c;你是否还在迷茫&#xff1f; 别担心&#xff01;鸿蒙来了&#xff0c;这个未来技术的制高点&#xff0c;为你提供了答案&#xff01; 诸多大厂疯抢、24年预计鸿蒙相关的岗位需求将达到百万级、就业均薪达到19K&#xff0c;全国高校开课…… 种种现象都在表…

VirtualBox安装Ubuntu22.04

目录 1、新建虚拟机 1.1、设置内存大小 1.2、创建虚拟硬盘 2、虚拟机设置 2.1、设置启动顺序​编辑 2.2、选择iso镜像文件 2.3、设置网络(桥接网卡) 3、启动 3.1、设置语言环境 3.2、系统更新安装(不更新) 3.3、选择键盘布局(默认即可) 3.4、选择安装类型 3.5、网…

硬件知识(1) 手机的长焦镜头

#灵感# 手机总是配备好几个镜头&#xff0c;研究一下 目录 手机常配备的摄像头&#xff0c;及效果举例 长焦的焦距 焦距的定义和示图&#xff1a; IPC的焦距和适用场景&#xff1a; 手机常配备的摄像头&#xff0c;及效果举例 以下是小米某个手机的摄像头介绍&#xff1a…

EXCEL VBA抓取网页JSON数据并解析

EXCEL VBA抓取网页JSON数据并解析 链接地址&#xff1a; https://api.api68.com/CQShiCai/getBaseCQShiCaiList.do?lotCode10036&date2024-01-26 Sub test() On Error Resume Next Sheet.Select Sheet1.Cells.ClearContents [a1:g1] Split("preDrawIssue|preDrawTi…

ES系列索引、文档、集群、技术原理文章目录

基础 ES的一些名词和概念总结 ES 可扩展、高可靠、使用场景等常见问题 索引/文档操作 索引 ES-index索引配置 文档 ES-DynamicMapping、文档字段类型 ES-索引、文档插入、更新、删除、脚本API和Query参数 ES-aggregation聚合分析 ES-API约定 集群 ES集群安装和启动图解…

用Visual Studio Code创建JavaScript运行环境【2024版】

用Visual Studio Code创建JavaScript运行环境 JavaScript 的历史 JavaScript 最初被称为 LiveScript&#xff0c;由 Netscape&#xff08;Netscape Communications Corporation&#xff0c;网景通信公司&#xff09;公司的布兰登艾奇&#xff08;Brendan Eich&#xff09;在 …

Oracle PL/SQL Programming 第2章:Creating and Running PL/SQL Code 读书笔记

暂不考虑系统设计或单元测试之类的任务&#xff0c;所有 PL/SQL 程序员必须熟悉的基本操作任务包括&#xff1a; 浏览数据库创建和编辑 PL/SQL 源代码编译 PL/SQL 源代码&#xff0c;并更正编译器注意到的任何代码错误和警告从某个环境执行编译后的程序检查程序执行的结果 与…

mysql 存储过程学习

存储过程介绍 1.1 SQL指令执行过程 从SQL执行的流程中我们分析存在的问题: 1.如果我们需要重复多次执行相同的SQL&#xff0c;SQL执行都需要通过连接传递到MySQL&#xff0c;并且需要经过编译和执行的步骤; 2.如果我们需要执行多个SQL指令&#xff0c;并且第二个SQL指令需要…