问题现象:

  • 本地修改文件名、文件夹名(只变化大小写),提交远程仓库后,仓库中对应内容名称大小写并没有变化
  • 本地仓库原本是大写文件,上传到远程仓库后变成小写,导致路径不正确,网页加载为404

推测原因

  • git 默认对大小写不敏感,文件或者文件夹名修改大小写后,提交后git远程仓库上内容不变动

测试

  • 在github/gitee仓库直接重命名,在从网页加载,可以成功加载网页

结论

  • Windows 不区分大小写,本地正常。
  • GitHub / Gitee 跑在 Linux 上,严格区分大小写,所以导致路径不正确,网页加载为404。

解决方法(推荐方法3):

  1. 方法1. mv命令,然后继续走其他git提交流程即可
1
git mv a A  ( 原来小写名称a,想要修改成的大写名称A)
  1. 方法2. 修改默认忽略配置为禁止状态,
    注意:此状态下修改文件夹名称提交后,老文件夹名称不删除
1
git config core.ignorecase false 
  1. 方法3. 修改文件夹、文件名称不要只修改大小写

    先改成 Cloudflare_temp?因为 Windows 不区分大小写,直接 cloudflareCloudflare 会被系统认为没变化,Git 也检测不到改动。改成不同的名字再改回来,Git 才能识别。

  2. 方法4. 改本地 markdown 中的引用路径,把所有 Cloudflare 改成 cloudflare

  3. 方法5. 在 GitHub 仓库里把文件夹名改成 Cloudflare

    进入 修改路径
    点击其中一个文件 → 点右上角铅笔图标 ✏️
    把路径中的 cloudflare 改成 Cloudflare
    提交修改Commit changes

补充:

  • 撤销上次commit:
1
git reset HEAD~    // 撤销所有commit。。
  • 撤销上次add/删除文件:
    rm后要add、commit后才能push
1
git rm --cached -r 路径/文件名
  • 取消git config 内容:
1
git config --global --unset xxkeyname
  • 查看远程仓库地址:
1
git remote -v