Git大小写不敏感导致提交文件冲突问题解决

问题现象:gitlab仓库上有个大写的文件名,本地改了小写后,提交后远程库上文件名没有变化,导致冲突。

解决方法1:使用 git mv

git mv

Move or rename files and update the Git index.
More information: <https://git-scm.com/docs/git-mv>.

- Move a file inside the repo and add the movement to the next commit:
  git mv path/to/file new/path/to/file

- Rename a file or directory and add the renaming to the next commit:
  git mv path/to/file_or_directory path/to/destination

- Overwrite the file or directory in the target path if it exists:
   git mv --force path/to/file_or_directory path/to/destination

解决方法2:设置本地Git大小写敏感

$ git config --get core.ignorecase
true
$ git config core.ignorecase false
$ git config --get core.ignorecase
false

关于 是否区分大小写 的补充说明

针对文件/文件夹,Windows 系统和 Mac 系统是不区分大小写的;Linux 系统是区分大小写的;Git 默认是不区分大小写的,也可以通过改配置项,改为区分大小写。

不分区大小写,也有它的好处,比如:文件夹/文件的路径,很多时候就代表了网站地址、页面url的路径。而网站地址也是不区分大小写的,这是很关键的原因之一。

关于 Git是否区分大小写 的补充

Git 默认是不区分大小写的,可以通过命令git config --get core.ignorecase查到,默认值是 true

我们也可以修改 Git 的这一配置项,改为区分大小写,配置命令为git config core.ignorecase false

不管是 Windows 还是其他系统下,还是不要轻易修改 git 默认的 core.ignorecase 配置,使用规范的 git mv 做法就好。


参考:


anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/6025.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注