Git重命名导致无法在分支之间切换

Git重命名导致无法在分支之间切换,git,renaming,ignore-case,Git,Renaming,Ignore Case,我被下面的场景弄糊涂了,你能帮我修一下吗?以下是osx终端的命令和输出: mkdir test && cd test && git init 已在/Users/martin/Downloads/test/.Git中初始化空Git存储库/ [master(root提交)bc140ee]a 1个文件已更改,1个插入(+) 创建模式100644 a.txt 切换到新的分支“dev” [dev 04a21d6]b 2个文件已更改,3个插入(+) 创建模式100644 A

我被下面的场景弄糊涂了,你能帮我修一下吗?以下是osx终端的命令和输出:

mkdir test && cd test && git init
已在/Users/martin/Downloads/test/.Git中初始化空Git存储库/

[master(root提交)bc140ee]a

1个文件已更改,1个插入(+)

创建模式100644 a.txt

切换到新的分支“dev”

[dev 04a21d6]b

2个文件已更改,3个插入(+)

创建模式100644 A.txt

切换到“主”分支

错误:签出将覆盖以下未跟踪的工作树文件:

A.txt

请先移动或删除它们,然后才能切换分支

流产

问题是我如何在没有强制的情况下从“master”切换到“dev”

需要解释的其他信息:

  • 我的git版本:2.3.0
  • 我正在使用OSX10.11.6,因此默认情况下git不区分大小写。但是我使用git来管理我们的java源代码,我使用区分大小写的命令来配置git,如上面的命令所示

  • 你能告诉我git--version的输出吗?2.9.0对我来说很好
    $git checkout dev
    切换到分支“dev”
    您的文件系统区分大小写还是不区分大小写?@BryceDrew我做了,这与我的问题有什么关系?@BryceDrew我刚刚用2.9.2测试了它。不幸的是,输出是相同的。为什么要更改
    core.ignorecase
    ?您不应该在不区分大小写的文件系统上这样做;这正是设置所阻止的问题。您能告诉我git--version的输出吗?2.9.0对我来说很好
    $git checkout dev
    切换到分支“dev”
    您的文件系统区分大小写还是不区分大小写?@BryceDrew我做了,这与我的问题有什么关系?@BryceDrew我刚刚用2.9.2测试了它。不幸的是,输出是相同的。为什么要更改
    core.ignorecase
    ?您不应该在不区分大小写的文件系统上这样做;这正是设置所防止的问题。
    echo "a">>a.txt
    git add . && git commit -m "a"
    
    git config core.ignorecase false
    git checkout -b dev
    
    mv a.txt A.txt && echo "b">>A.txt
    git add . && git commit -m "b"
    
    git checkout master
    
    git checkout dev