git修改文件名大小写踩坑记录

使用git的时候,有时我们需要修改文件名的大小写,但是默认情况下,git是会忽略文件名大小写的,如果我们要修改文件名称大小写,可以使用试下方法

第一种,修改git配置(不推荐)

git config core.ignorecase false

设置之后,就可以修改文件名大小写了,而且git也是可以识别的,但是为什么会说不推荐呢,因为这样修改大小写之后,如果切换分支,会出现下图的情况,我至今没有好的方法解决

git修改文件名大小写踩坑记录_第1张图片
image

从图中可以看到,切换分支的时候告诉我们有未被追踪的文件,这个文件正好是我们修改过大小写的文件,但是我们使用 git status 命令查看的时候,并没有看到有任何改动,而且此分支上修改的内容我很确定是已经提交了,因为在当前分支下的这个文件如下图所示

git修改文件名大小写踩坑记录_第2张图片
image

我看网上有人的推荐是改完大小写并提交后修改配置忽略大小写,切换分支后再次修改配置,太麻烦了,所以我还是比较推荐下一种方式。

第二种,两次修改(推荐)

在这种情况下,需要设置git忽略文件大小写,如果没有修改过,git默认就是忽略文件大小写的,如果修改过,或者自己想再次设置,可以使用以下命令进行设置

git config core.ignorecase true

可以看下面的图

git修改文件名大小写踩坑记录_第3张图片
image

首先,我们将 index.js 这个文件修改为 aindex.js,然后使用 git add . 将其贮存。
接着我们将其修改为 Index.js,再次使用 git add . 进行贮存,可以通过 git status 看到这个文件名的变化,是从 index.js 重命名为 Index.js,中间那个 aindex.js 只是用来桥接的,并不会产生真正的提交记录,只有最后那个会产生一条 rename 的记录。

并且通过这种方式修改的文件名,切换分支也不会出现之前那种提示了。

总结

虽然第二种方式操作时会略显繁琐,但是在后续的切换分支等方面,会省心很多,所以我比较推荐这种方式,而且这也是我正在使用的方式。

感兴趣的可以去我的博客原文踩踩哦

你可能感兴趣的:(git修改文件名大小写踩坑记录)