相关疑难解决方法(0)

Windows上的Git:重命名文件后无法切换分支(仅更改了大小写)

我在windows上使用git,我的repo中有一个文件,让我们说"foo.txt".今天我想把这个文件重命名为"Foo.txt"(大写).正如在这个SO问题中所建议的那样,我使用了git mv -f foo.txt Foo.txt它,产生了预期的结果.我继续提交更改我的回购协议.
编辑:我希望这是一个永久性的更改,仍然能够签署提前更改.

但是,之后我尝试切换分支时遇到错误:

# I'm on branch1  
git checkout branch2  
Aborting  
error: The following untracked working tree files would be overwritten by checkout:  
Foo.txt  
Please move or remove them before you can switch branches.  
Run Code Online (Sandbox Code Playgroud)

经过一番探索,我发现我的.git/config文件有以下设置:

[core]  
    ignorecase=false  
Run Code Online (Sandbox Code Playgroud)

将此更改为true似乎可以解决问题并允许我在正常情况下在分支之间进行更改.

关于这一点,我想知道:

  1. 这种设置有不良影响吗?在Windows上它应该是真的吗?如果我和其他开发人员合作并且他们没有相同的值设置怎么办?
  2. 有没有其他方法来重命名文件而不必更改此设置?
  3. 为什么这首先发生?当我提交更改时,git正确识别该文件实际上已重命名(未删除一个文件然后添加另一个文件).那么当我试图切换分支时究竟发生了什么?

谢谢!

git rename case-sensitive file-rename ignore-case

10
推荐指数
1
解决办法
2589
查看次数

标签 统计

case-sensitive ×1

file-rename ×1

git ×1

ignore-case ×1

rename ×1