Como fazer o git ignorar alterações em caso de necessidade?
Pergunta
Eu não estou muito certo o que está acontecendo aqui, mas, às vezes, um determinado arquivo no meu repositório de alterar o caso de seu nome.por exemplo,:
antes: File.h
depois: file.h
Eu realmente não me importo por que isso está acontecendo, mas isso faz com que o git para pensar que é um novo arquivo e, em seguida, eu tenho que ir e altere o nome do arquivo de volta.Você pode apenas fazer o git ignorar maiúsculas e minúsculas alterações?
[editar] Eu suspeito que é o Visual Studio fazendo algo de estranho com aquele determinado arquivo, porque ele parece acontecer com mais freqüência quando eu abrir e salvá-lo após as alterações.Eu não tenho nenhuma maneira de corrigir bugs em VS, no entanto, mas o git deve ser um pouco mais capaz do que eu espero.
Solução
Desde a versão 1.5.6 há um ignorecase
opção disponível no [core]
seção de .git/config
exemplo:adicionar ignorecase = true
Para alterá-lo para apenas um acordo de recompra, a partir dessa pasta, execute:
git config core.ignorecase true
Para alterar de forma global:
git config --global core.ignorecase true
Outras dicas
Na versão git 1.6.1.9 para o windows achei que "ignorecase=true' config já foi definido por padrão.
Você pode forçar o git para renomear o arquivo em um só caso com este comando:
git mv --cached name.txt NAME.TXT
Observe que isso não altere o caso de o arquivo no seu check-out copiar uma partição do Windows, mas o git registros a caixa de mudança e pode confirmar que mudar.Futuro checkouts vai usar o novo revestimento.
A situação descrita na pergunta agora é re-ocorrendo com o Mac OS X, versão git >= 1.7.4 (eu acho).A cura é para definir o seu ignorecase=false e mude o nome aparece com letra minúscula arquivos (que git alterado, de forma a que não Visual Studio) de volta para sua UsualCase pela mão (i.e.'mv meunome Meunome').
Mais informações aqui.