No meu projeto git (Xcode), cometi um nome de arquivo com maiúsculas e minúsculas. Agora eu tentei renomeá-lo, mas quando me comprometo, recebo:
fatal: não adicionará o alias de arquivo 'MyProject / MyFile.h' ('MyProject / MyFilE.h' já existe no índice)
Tenho certeza de que isso ocorre porque o git não costuma ser executado em um sistema de arquivos que preserva e não diferencia maiúsculas de minúsculas, como o HFS +. Mas como faço para contornar isso?
Tentei renomear os dois arquivos para outra coisa e confirmei isso e, em seguida, renomeie-os novamente para o que eu quero, mas ele ainda falha (com a mesma mensagem de erro).
fonte
Ainda não encontrei uma maneira de corrigir isso diretamente em um sistema de arquivos que não diferencia maiúsculas de minúsculas; você precisa de um sistema de arquivos que diferencia maiúsculas de minúsculas.
Felizmente, o Mac OS X tem um bom suporte de montagem de disco virtual, para que você possa obter (fazer) um sistema de arquivos (temporário) sensível ao caso de forma rápida e fácil em seu computador.
Abra o Utilitário de Disco, crie uma Nova Imagem e defina o campo "Formato" para uma das versões que diferenciam maiúsculas de minúsculas do "Mac OS Extended". Além disso, certifique-se de torná-lo grande o suficiente para o seu repositório.
Monte seu novo disco, verifique o repositório git nele, verifique se o arquivo nomeado corretamente tem o conteúdo correto e exclua o outro. Confirme e envie suas alterações e, em seguida, você pode desmontar a imagem do disco e excluí-la.
Se você não possui um servidor remoto para clonar (ou seja, você está executando um repositório git localmente no seu disco rígido), lembre-se de que pode clonar diretamente do outro repositório git no seu disco rígido.
fonte
Etapa 1 : renomeie o arquivo com um nome mais diferente (do que apenas o caso das letras). Escolha um nome aleatório diferente do nome atual e do nome que você deseja atribuir.
Etapa 2 : confirmar esse arquivo pela GUI (Xcode) ou pela CLI (Terminal)
Etapa 3 : renomeie o arquivo como você queria renomeá-lo em primeiro lugar. Portanto, agora também haverá mais diferenças do que apenas o caso com o nome anterior.
Etapa 4 : confirme o arquivo renomeado novamente.
Não são necessários truques de mágica. E você pode optar por confirmar por GUI ou CLI.
fonte
Eu uso o sourcetree. Sem usar a CLI, há uma etapa fácil para fazer isso. renomeie o arquivo para outro nome (por exemplo, Index.php para Index_old.php), em seguida, confirme e pressione .. novamente altere o nome para o nome desejado (index.php), depois confirme e envie.
fonte