Git no Windows: Não é possível alternar ramificação após renomear um arquivo (apenas maiúsculas e minúsculas)
Eu estou trabalhando com o git no windows, e eu tenho um arquivo no meu repositório, vamos dizer "foo.txt". Hoje eu queria renomear este arquivo para "Foo.txt" (maiúscula). Como sugerido emesta questão tão, Eu useigit mv -f foo.txt Foo.txt
, que produziu o resultado desejado. Eu continuei paracometer a mudança para o meu repo.
EDITAR: Eu gostaria que isso fosse uma alteração permanente e ainda pudesse fazer o checkout de confirmação que precede essa alteração.
No entanto, depois disso, encontrei um erro ao tentar alternar a ramificação:
# 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.
Depois de algumas cutucando eu descobri que minha.git/config
arquivo tinha a seguinte configuração:
[core]
ignorecase=false
Mudar isto para true parece corrigir o problema e permite que eu mude entre branches como normal.
Então, a respeito disso, gostaria de saber:
Existe algum efeito adverso dessa configuração? Deve sempre ser verdade no windows? E se eu estiver trabalhando com outros desenvolvedores e eles não tiverem o mesmo valor definido para isso?Existe outra maneira de renomear o arquivo sem ter que alterar essa configuração?Por que isso acontece em primeiro lugar? Quando eu cometi a mudança, o git identificou corretamente que o arquivo foi de fato renomeado (não deletou um arquivo e depois adicionou outro). Então, o que aconteceu exatamente quando tentei mudar de ramo?Obrigado!