Não tenho certeza do que está acontecendo aqui, mas às vezes um arquivo específico em meu repositório muda a caixa do seu nome. por exemplo,:
antes: File.h
depois de: file.h
Eu realmente não me importo por que isso está acontecendo, mas isso faz com que o git pense que é um novo arquivo, e então eu tenho que mudar o nome do arquivo de volta. Você pode simplesmente fazer o git ignorar as mudanças de maiúsculas e minúsculas?
[editar] Suspeito que seja o Visual Studio fazendo algo estranho com aquele arquivo em particular, porque parece acontecer com mais frequência quando eu o abro e salvo após alterações. Não tenho como consertar bugs no VS entretanto, mas o git deve ser um pouco mais capaz, espero.
Respostas:
Desde a versão 1.5.6, há uma
ignorecase
opção disponível na[core]
seção de.git/config
por exemplo, adicionar
ignorecase = true
Para alterá-lo para apenas um repo, execute a partir dessa pasta:
Para mudá-lo globalmente:
fonte
ignorecase = false
funcionou, foi padronizado paratrue
-_-Você pode forçar o git a renomear o arquivo apenas com maiúsculas e minúsculas com este comando:
Note que isso não muda o caso do arquivo em sua cópia em check-out em uma partição do Windows, mas git registra a mudança de caixa e você pode enviar essa mudança. Checkouts futuros usarão o novo invólucro.
fonte
No git versão 1.6.1.9 para Windows, descobri que "ignorecase = true 'na configuração já estava definido por padrão.
fonte
A situação descrita na pergunta agora está ocorrendo novamente com o Mac OS X, versão git> = 1.7.4 (eu acho). A cura é definir seu ignorecase = false e renomear os arquivos em minúsculas (que o git mudou dessa forma, não o Visual Studio) de volta para seu UsualCase manualmente (ou seja, 'mv myname MyName').
Mais informações aqui .
fonte