No primeiro compromisso do meu parcial chamado _Electronics
foi escrito começando com letras maiúsculas, depois mudei para _electronics
.
Git no cygwin ignorou o caso após comprometer o novo nome, então eu mudei o nome manualmente no repositório de destino.
Agora às vezes muda a _electronics
parcial confirmada para _Electronics
.
O que eu fiz errado?
Respostas:
Isso será visto como 2 coisas diferentes, mas causará problemas em um sistema que não diferencia maiúsculas de minúsculas. Se for este o caso, certifique-se de que está preenchendo tabulação de todos os caminhos ou nomes de arquivo. Além disso, para alterar o nome de algo nesse caso, faça o seguinte:
Esta é uma maneira explícita de fazer alterações, submetendo-os e, em seguida, recolhendo os commits. Uma maneira mais rápida de fazer isso é manipular o índice e a pasta de trabalho em um:
Isso está relacionado ao ajuste de nomes de diretório também: git mv e apenas muda a caixa do diretório
fonte
git mv file.txt File.txt
. Não tenho certeza se este é um novo recurso do git.Vai depender do
core.ignorecase
valor de configuração, que é definido como falso em sistemas de arquivos com distinção entre maiúsculas e minúsculas e verdadeiro em msysgit no Windows.Mais detalhes nesta resposta a Alterando a capitalização de nomes de arquivos no Git .
fonte
git config --unset-all core.ignorecase && git config --system core.ignorecase false
com sudo.Isso é muito mais fácil:
fonte
mv -f
funcionará para um arquivo.fonte
No meu cenário, eu tinha duas pastas
tests
eTests
elas eram mostradas como duas pastas separadas no Github, mas uma únicaTests
pasta no Windows. Meu objetivo era combinar os dois emtests
.Usei a seguinte abordagem:
temp
Tests
paratemp
Tests
git rm Tests -r
temp
paratests
fonte
Tentei resolver o problema e foi bem-sucedido no Windows10
Vamos supor que haja duas pastas no bitbucket TEST e test, mas quando clono o repo no disco, ele cria apenas TEST e quero manter o teste como uma única pasta no git que contém todos os arquivos.
Vou precisar executar os seguintes comandos na linha de comando git mv TEST test1 -f git mv text1 test -f git commit -m "renomeando ..." git push
Agora você verá que a hierarquia de pastas foi corrigida no bitbucket.
fonte