当我执行 git clone 时,解决 Git 不区分大小写导致的文件冲突问题

1,958 阅读2分钟

“ 本文正在参加「金石计划」 ”

问题:git同一文件由于文件名大小写不同导致不能合并

以前文件名全为大写 后面修改为小写了 然后提交上去没有把原来的删除掉

image.png

但是本地是只显示login 并没有Login文件夹

image.png

参考:blog.csdn.net/qq_43533178…

找了空文件夹 拉取

image.png

image.png

warning: the following paths have collided (e.g. case-sensitive paths on a case-insensitive filesystem) and only one from the same colliding group is in the working tree:

查看下载好的 发现并没有login

image.png

回到上一次的提交 是把原来的login 删除再重新添加的index.vue 发现在souceTree里面并不是显示新建的文件 而是处于一个修改的状态

image.png

之前是设置了不区分大小写 image.png

也可以在这里看

image.png

参考: www.cnblogs.com/qianguyihao…

www.likecs.com/ask-56758.h…

1、查看git 是否忽略了大小写

git config --get core.ignorecase 

2.得到的结果是false 说明我本地已经配置了 区分大小写了,如果 窗口提示为true执行下列代码,

git config core.ignorecase false 

解决方法:

1.blog.csdn.net/kaimo313/ar…

image.png

image.png

image.png 注意:进入到文件夹同级目录,右击鼠标,打开 Git Bash Here 控制台

image.png

image.png

image.png 但是我帮新拉进来的login文件夹 发现改动又不存在了

要是改为login1 发现会同时显示两个文件删除 image.png

还是不行

2. Git 文件重命名

这个方法没有试过:

image.png

重命名
git mv oldFileName newFileName
git commit -am"修改记录说明"

3. 最后还是采取简单粗暴 先将原来的大写文件 Login.vue 从远程仓库删除,然后再pull下来(管用)

image.png 如果只有这个文件夹下只有一个文件其实文件夹也是被删除掉的

找个文件夹测试下: image.png 拉取下来是master分支 还是存在这个问题的 切换回dev分支

image.png

需要进入到项目文件里面执行

image.png

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

git branch -r (查看远程分支) git branch -a (查看所有分支) git switch 是新版本 Git 提供的命令 ;

参考:blog.csdn.net/shulianghan…

执行

git switch -c dev

命令 , 可以创建并切换到 dev 分支中 ; 该命令的效果等同于 git checkout -b dev ;

image.png

切换分支 直接git checkout develop 就行 不用在前面加origin/

image.png 发现没有了Login了 大功告成!

image.png

pull拉取下来的时候 这里会显示login中的index.vue一个文件已经被删除了 我们不需要在把他提交在暂存区了 而是把这个文件删除改动丢弃