Criei um repositório Git usando gitolite. Agora eu gostaria de renomear esse repositório.
Como posso fazer isso?
No readme do gitolite diz que não devo trabalhar diretamente no servidor. Mas acho que tenho que fazer algum trabalho no servidor nesse caso, certo?
Respostas:
Conforme indicado no manual gitolite basic-admin :
renomeando um repo
Isso é semelhante; não há código para fazer isso
gitolite
. O que você faz é:faça logon no servidor,
cd $REPO_BASE
(padrãocd ~/repositories
:), emv old-name.git new-name.git
de volta em seu clone gitolite-admin, edite
conf/gitolite.conf
e substitua todas as ocorrências deold-name
pornew-name
. Em seguida, adicione, confirme e envie como de costume.A ordem dessas 2 etapas é importante; não os inverta :-)
Uma terceira etapa é necessária no gitolite3:
gl-conf
no repo e mude o nome do repositório para o novo nomeE, claro, cada usuário deve atualizar sua configuração de clone para apontar para o novo nome do repo.
fonte
gl-conf
e alterar o nome do repositório.git remote set-url [email protected]:new-name.git
, em seguida, faça umgit fetch
para certificar-se de que não haja erros.rm -r new-name.git
antes domv
comando.Não estou familiarizado com o gitolite especificamente, mas uma abordagem que pode funcionar é criar um repositório completamente novo com o nome correto, enviar seu código para aquele e excluir o antigo.
fonte
Usando Greg Hewgill como uma ideia, você possivelmente pode renomear o repositório no arquivo de configuração. Você pode querer tentar primeiro em um repositório fictício. Minhas suspeitas são que o nome antigo será excluído, o novo será criado e você precisará atualizar suas origens localmente e enviar.
fonte
Uma abordagem limpa é criar o novo repositório vazio e fazer o seguinte:
Assumindo que o antigo é ANTIGO e o novo (vazio) é NOVO:
Ou você pode usar diretamente o repo remoto para OLD:
Isso manterá todo o histórico e permitirá que o gitolite cuide de seus componentes internos. Além disso, você terá que atualizar gitolite-admin, mas não há limitação no pedido.
Isso também funciona remotamente sem problemas.
A exclusão do repositório OLD deve ser feita de acordo com as instruções do gitolite (localmente).
fonte