web-dev-qa-db-fra.com

Transférer les dépôts git de GitLab vers GitHub - pouvons-nous, comment et pièges (le cas échéant)?

Peut-on transférer des référentiels de GitLab vers GitHub si besoin est. Si oui, comment puis-je faire exactement la même chose?

Aussi, y a-t-il des pièges à cela ou des mesures de précaution que je dois garder à l'esprit avant de le faire, étant donné que je pourrais décider de les transférer éventuellement sur GitHub ).

105
boddhisattva

Vous pouvez les transférer (simplement en ajoutant une télécommande à un dépôt GitHub et en les poussant)

  • créer un repo vide sur GitHub
  • git remote add github https://[email protected]/yourLogin/yourRepoName.git
  • git Push --mirror github

L'histoire sera la même.

Mais vous perdrez le contrôle d'accès (équipes définies dans GitLab avec des droits d'accès spécifiques sur votre référentiel)

Le OP boddhisattvasignale un problème avec l'URL https du référentiel GitHub:

The requested URL returned error: 403

Tout ce que vous avez à faire est d’entrer votre mot de passe GitHub, mais l’OP vous suggère:

Ensuite, vous devrez peut-être le pousser de la même manière que ssh. Vous pouvez en savoir plus sur la façon de le faire ici.

Voir " Envoyer à Git renvoyant le code d'erreur 403 fatal: la requête HTTP a échoué ".

112
VonC

Ceci est très facile grâce à la fonctionnalité de référentiel d'importation Connectez-vous à github.com,

Sur le côté de la photo de profil, vous trouverez le bouton + cliquez sur celui-ci, puis il y aura une option pour import repository. Vous trouverez une page comme celle-ci .  enter image description here Votre ancien URL de clonage de référentiel est obligatoire, qui correspond à l’URL du dépôt gitlab dans votre cas . Puis sélectionnez Propriétaire, tapez le nom de ce dépôt et cliquez pour lancer le bouton d’importation.

70
manoj

J'ai eu le problème opposé et j'ai finalement dû créer mon propre script bash Shell pour permettre à l'entreprise de migrer la centaine de pensions de Github vers Gitlab en raison d'un changement de politique d'entreprise.
Le script utilise l’API Gitlab pour créer un référentiel à distance et y insère le référentiel Github . Il n’existe pas encore de fichier README.md, mais sh est bien documenté.
La même chose peut être faite de manière opposée j'imagine. J'espère que cela pourrait aider.
https://github.com/mahmalsami/migrate-github-gitlab/blob/master/migrate.sh

6
SamiX

Si vous souhaitez migrer le référentiel, y compris le wiki et tous les problèmes et jalons, vous pouvez utiliser node-gitlab-2-github et Migration GitLab vers GitHub

0
1u-

Si MFA est activé sur GitLab, vous devez aller dans Paramètres du référentiel/Référentiel -> Déployer les clés et en créer un, puis l'utiliser comme connexion lors de l'importation du référentiel sur GitHub.

0
Alex Mokrushin