Eu acho que deve funcionar para copiar o diretório para ser renomeado para um novo diretório com o nome desejado, e excluir o diretório de idade , e git add
, git commit
e push
tudo. Mas esse é o melhor caminho?
655
Eu acho que deve funcionar para copiar o diretório para ser renomeado para um novo diretório com o nome desejado, e excluir o diretório de idade , e git add
, git commit
e push
tudo. Mas esse é o melhor caminho?
Respostas:
Renomear básico (ou mover):
Renomear maiúsculas de minúsculas - por exemplo. de
casesensitive
paraCaseSensitive
- você deve usar duas etapas:( Mais sobre a distinção entre maiúsculas e minúsculas no Git… )
… Seguido de commit e push seria a maneira mais simples de renomear um diretório em um repositório git.
fonte
casesensitive
aCaseSensitive
, você pode fazer desta forma:git mv casesensitive Temp
e depoisgit mv Temp CaseSensitive
git rm -rf --cached path/to/your/directories
então re-add e comprometergit config core.ignorecase false
e depois executar os comandos em sucessão, ou então, na segunda parte, eu receberia umsource is empty
erro.Se você receber este erro: fatal: renomear 'foldername' falhou: argumento inválido
Tente o seguinte:
git mv foldername tempname && git mv tempname folderName
fonte
git mv foldername tempname
egit mv tempname folderName
, que devem funcionar no Windows.1. Altere o nome de uma pasta de pasta antiga para nova pasta
2. Se a nova pasta já estiver no seu repositório e você quiser substituí-la e usar: - force
Não se esqueça de adicionar as alterações ao índice e enviá-las após renomear com git mv.
3. Renomeando o nome da pasta para folderName em sistemas de arquivos que não diferenciam maiúsculas de minúsculas
Renomear simples com um comando mv normal (não git mv) não será reconhecido como uma troca de arquivos do git. Se você tentar com o comando 'git mv' como na linha a seguir
Se você estiver usando um sistema de arquivos que não diferencia maiúsculas de minúsculas, por exemplo, você está em um Mac e não o configurou para diferenciar maiúsculas de minúsculas, você receberá uma mensagem de erro como esta:
fatal: falha ao renomear 'foldername': argumento inválido
E aqui está o que você pode fazer para fazê-lo funcionar: -
Isso divide o processo de renomeação, renomeando a pasta primeiro para um nome de pasta completamente diferente. Depois de renomeá-lo para o nome da pasta diferente, a pasta pode finalmente ser renomeada para o novo nome da pasta. Depois desses 'git mv', novamente, não se esqueça de adicionar e confirmar as alterações. Embora essa provavelmente não seja uma técnica bonita, ela funciona perfeitamente bem. O sistema de arquivos ainda não reconhecerá uma alteração nas maiúsculas e minúsculas, mas o git deve renomeá-lo para um novo nome de pasta, e é isso que queríamos :)
fonte
Você pode renomear o diretório usando o sistema de arquivos. Então você pode fazer
git rm <old directory>
egit add <new directory>
( página de Ajuda ). Então você pode confirmar e empurrar.O Git detectará que o conteúdo é o mesmo e que é apenas uma operação de renomeação e aparecerá como uma entrada de renomeação no histórico. Você pode verificar se esse é o caso antes da confirmação usando
git status
fonte
No aplicativo da Web, acho que você não pode, mas pode renomear todas as pastas no Git Client; ele moverá seus arquivos para as novas pastas renomeadas, do que confirmar e enviar para o repositório remoto.
Eu tive um problema muito parecido: tive que renomear pastas diferentes, de maiúsculas para minúsculas (como Abc -> abc), renomeei todas as pastas com um nome falso (como 'abc___') e comprometido com o repositório remoto, depois que renomeei todas as pastas para o nome original com letras minúsculas (como abc) e as levou!
fonte
Eu o resolvi em duas etapas. Para renomear a pasta usando o comando mv, você precisa de direitos para isso, se não tiver o direito, poderá seguir estas etapas. Suponha que você queira renomear maiúsculas e minúsculas para maiúsculas e minúsculas.
Etapa 1: renomeie a pasta (sensível a maiúsculas e minúsculas) para outra coisa do explorer. Por exemplo, renomeie maiúsculas de minúsculas para folder1 e confirme essa alteração.
Etapa 2: renomeie esta pasta recém nomeada (folder1) para o nome sensível a maiúsculas e minúsculas esperado (sensível a maiúsculas e minúsculas), por exemplo. Renomeie a pasta1 para Diferenciar maiúsculas de minúsculas. Confirme essa alteração.
fonte
Para renomear maiúsculas de minúsculas,
git mv somefolder someFolder
já funcionou para mim antes, mas não hoje por algum motivo. Então, como solução alternativa, criei uma nova pastatemp
, movi todo o conteúdo desomefolder
paratemp
, excluísomefolder
, comprometi o etemp
, em seguidasomeFolder
, criei , movi todo o conteúdo detemp
parasomeFolder
, excluídotemp
, confirmado e enviado por pushsomeFolder
e funcionou! Aparece comosomeFolder
no git.fonte
Simplesmente renomeie a pasta. O git é um "rastreador de conteúdo"; portanto, os hashes SHA1 são os mesmos e o git sabe que você o renomeou. A única coisa que muda é o objeto de árvore.
fonte