Git重命名文件大小写

前言:
  本篇文章介绍在Git中重命名文件。

1 Git中修改文件名遇到的问题

  Git默认是大小写不敏感的,如果将文件名的大小写进行修改则Git将无法识别此变更。
  工程中有文件 main.c ,将其文件名修改为 MAIN.c ,输入 git status 指令查看文件变更状态,git并未发现文件名发生变更。

nothing.png

2 方法一:改为大小写敏感

  Git默认是大小写不铭感的,可通过以下指令将其修改为大小写铭感。

1
git config core.ignorecase false

  大小写敏感后再使用 git status 即可显示被修改大小写的文件名。
  对当前分支提交修改大小写文件名的文件,但存在一个问题,仅当前分支的文件被修改文件名,当切换到其他分支后会再次提示文件名被修改,此方法Git不能通过对大小写敏感来关联出哪个文件被改名。

nothing.png

3 方法二:两次add

 &esmp;先将要修改名的文件名改为其他任意名称,然后执行 git add 指令添加该文件进暂存区,然后再将文件名改为大小写变更的后期望文件名,再次执行 git add 指令,此时可看见Git提示存在文件名被修改。这个过程Git不会留下临时add的中间文件的记录。

Fun2.png

  切换到其他分支,可以发现其他分支的该文件名并修改,当然也不应该对其他分支产生影响。

4 方法三:删除后重添加

  先将要改大小写文件名的文件备份到其他地方,然后在本地仓库执行指令 git rm <file> 删除该文件,将备份的文件修改好期望的文件名后重新移回仓库下,通过命令 git add 重新添加到暂存区,Git即可关联出文件名被修改。

Fun3.png

  切换到其他分支,可以发现其他分支的该文件名并修改,当然也不应该对其他分支产生影响。