Easton's Blog Easton's Blog
首页
  • 编程语言

    • Python
  • 框架

    • Django
  • Mdn (opens new window)
  • HTML
  • CSS
  • JavaScript
  • Mysql
  • PostgreSQL
  • Elasticsearch
  • MongoDB
  • Redis
  • 服务器命令
  • Docker
  • GIT
  • 摄影
  • 草稿
  • 归类方式

    • 分类
    • 标签
    • 归档
  • 关于博客

    • 博客教程
    • 友情链接
    • 关于
导航站
GitHub (opens new window)

Easton Yang

爱生活😊爱学习
首页
  • 编程语言

    • Python
  • 框架

    • Django
  • Mdn (opens new window)
  • HTML
  • CSS
  • JavaScript
  • Mysql
  • PostgreSQL
  • Elasticsearch
  • MongoDB
  • Redis
  • 服务器命令
  • Docker
  • GIT
  • 摄影
  • 草稿
  • 归类方式

    • 分类
    • 标签
    • 归档
  • 关于博客

    • 博客教程
    • 友情链接
    • 关于
导航站
GitHub (opens new window)
  • Git

    • Git基础知识
    • Git常用命令
    • Git开发规范
    • Git各种回退
    • Git文件名大小写导致的坑
      • 让 git 区分大小写
      • 坑介绍
      • 如果避坑
      • 如果已经进坑,解决办法
    • GitHub好玩的用法
  • 工具
  • Git
eastonyangxu
2023-05-12
目录

Git文件名大小写导致的坑

注意

Git 默认文件名不区分大小写,如果修改了文件名不会显示有改变。

执行 git config core.ignorecase false 命令配置以后文件名才会区分大小写。虽然可以识别大小写文件名了,但是如果你之前已经 push 到远程了,这样远程的文件名还是不会改变,有可能就是本地和远程两个文件名不同,一个是大写的一个是小写的。为了完全避免这个问题,推荐使用命令 git mv 去重命名,不要直接去重命名文件名。如果远程跟本地不一样,只能先删除远程的,在推送本地的到远程。(目前没有找到其他好方法,可能还有更好的方法。)

建议不要修改该配置。因为我这里使用 vuepress 来做的博客 ,所以很多路由跟文件名有关系,如果大小写不区分容易出现路由找不到的情况。

其实最主要的原因是因为 windows 和 mac 不区分文件名大小写,linux 区分文件名大小写。所以在 linux 操作时,可以避免此问题。

# 让 git 区分大小写

# flase-区分   true-不分区
git config core.ignorecase false
1
2

# 坑介绍

  1. 通过配置本地虽然可以识别文件名大小写了,但是推送到远程(GitHub)上面文件名还是没有变化,也有可能远程会同时出现两个文件。
  2. 如果修改了文件内容,使用 git status 会发现有两个文件有改动,一个是大写,一个是小写。
  3. 如果在其他电脑 clone 代码就会出现同一个项目文件名不一致,可能会导致严重问题。

# 如果避坑

使用 git mv -f old_name new_name 来重命名文件名。

# 如果已经进坑,解决办法

    适合文件比较少的时候操作。

    # 1.先备份文件然后删除文件,然后在执行
    git add .
    
    # 2.把备份的文件拷贝到项目下,并正确命名,然后在执行
    git add .
    
    # 3.然后正常提交、推送,最后提交以后 本地和远程 就会保持一致了。
    git commit -m '修改文件名'
    git push
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 还未发现
    
    1
    // Make sure to add code blocks to your code group
    #Git
    上次更新: 2023/08/08, 20:00:46
    Git各种回退
    GitHub好玩的用法

    ← Git各种回退 GitHub好玩的用法→

    最近更新
    01
    攻略制作要点
    07-18
    02
    摄影主题拍摄
    07-18
    03
    延时摄影剧本
    07-18
    更多文章>
    Theme by Vdoing | Copyright © 2023-2024 Easton Yang | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式