Transferir repositórios git do GitLab para o GitHub - podemos, como e armadilhas (se houver)?
204
É possível transferir repositórios do GitLab para o GitHub, se necessário. Se sim, como exatamente posso fazer o mesmo?
Além disso, existem armadilhas ao fazer isso ou medidas de precaução que eu preciso ter em mente antes de fazê-lo, uma vez que posso decidir movê-las para o GitHub (pois há mais recursos no momento que posso achar úteis para o meu projeto) )
Obrigado Von - sua resposta foi o truque para mim. Acabei de adicionar um pouco à sua resposta sobre o comando git remote add cmd e empurrar as coisas da maneira ssh, se necessário. Espero que esteja tudo bem.
boddhisattva
@boddhisattva Está tudo bem, mas vejo que sua edição foi rejeitada. Eu o adicionei de volta na resposta.
VonC
5
Algum comentário sobre problemas e etiquetas de importação? Qualquer coisa que não seja código pode ser importada por pull e push? Obrigado.
@YakovK Não conheço um processo automático que leve em consideração relações públicas e problemas. Pelo menos, o PR no GitHub são ramificações (consulte stackoverflow.com/a/30542987/6309 ), para que possam ser importadas.
VonC
1
O @kiki empurrará todas as ramificações locais, mas se o seu repositório local for um clone, ele terá apenas master como ramificação local padrão. Você deve primeiro criar as outras ramificações locais após suas ramificações de rastreamento remoto repsectivas, antes de usá-las push --mirror. stackoverflow.com/a/18911322/6309 . Veja também a alternativa mencionada em stackoverflow.com/a/24099141/6309 (última frase)
VonC 6/17
149
Isso é muito fácil pelo recurso de repositório de importação github.com.
Lado da foto do perfil, você encontrará um +clique no botão e, em seguida, haverá a opção import repository. você encontrará uma página como esta.
É necessário o URL do clone do seu repositório antigo, que é o gitlab repo url no seu caso. selecione Proprietário e digite o nome deste repositório e clique no botão para iniciar a importação.
É super conveniente que o GitHub tenha adicionado isso. No entanto, não funcionará se for um GitLab interno atrás de um firewall, o que representa um grande caso de uso para o GitLab.
abalter
7
Apenas uma nota rápida para qualquer pessoa que use a opção de importação. Eu tive que desativar o MFA no GitLab para que isso funcionasse.
Dia D
2
Isso funciona bem. Muito melhor do que a resposta aceita
LnxSlck
Como se eu quiser importar uma filial?
coderInrRain
1
O repositório importado não precisa necessariamente ser público agora, pois o github tornou a adição gratuita de repositórios privados.
Eu tive o problema oposto e finalmente tive que criar meu próprio script bash shell para a empresa migrar as centenas de repositórios do Github para o Gitlab devido a uma alteração na política da empresa.
O script usa a API do Gitlab para criar remotamente um repositório e enviar o repositório Github para ele remotamente. Ainda não existe um arquivo README.md, mas o sh está bem documentado.
A mesma coisa pode ser feita de maneira oposta, imagino. Espero que isso possa ajudar. https://github.com/mahmalsami/migrate-github-gitlab/blob/master/migrate.sh
Se você tiver o MFA ativado no GitLab, vá para Configurações / Repositório do Repositório -> Implementar Chaves e crie uma, e use-a como login ao importar repositório no GitHub
push --mirror
. stackoverflow.com/a/18911322/6309 . Veja também a alternativa mencionada em stackoverflow.com/a/24099141/6309 (última frase)Isso é muito fácil pelo recurso de repositório de importação
github.com
.Lado da foto do perfil, você encontrará um
+
clique no botão e, em seguida, haverá a opçãoimport repository
. você encontrará uma página como esta. É necessário o URL do clone do seu repositório antigo, que é o gitlab repo url no seu caso. selecione Proprietário e digite o nome deste repositório e clique no botão para iniciar a importação.fonte
Se você deseja migrar o repositório, incluindo o wiki e todos os problemas e marcos, use o node-gitlab-2-github e a migração do GitLab para o GitHub
fonte
Eu tive o problema oposto e finalmente tive que criar meu próprio script bash shell para a empresa migrar as centenas de repositórios do Github para o Gitlab devido a uma alteração na política da empresa.
O script usa a API do Gitlab para criar remotamente um repositório e enviar o repositório Github para ele remotamente. Ainda não existe um arquivo README.md, mas o sh está bem documentado.
A mesma coisa pode ser feita de maneira oposta, imagino. Espero que isso possa ajudar.
https://github.com/mahmalsami/migrate-github-gitlab/blob/master/migrate.sh
fonte
Se você tiver o MFA ativado no GitLab, vá para Configurações / Repositório do Repositório -> Implementar Chaves e crie uma, e use-a como login ao importar repositório no GitHub
fonte