Übertragen Sie Git-Repositorys von GitLab auf GitHub - können wir, wie und Fallstricke (falls vorhanden)?
204
Kann man bei Bedarf Repositorys von GitLab auf GitHub übertragen? Wenn ja, wie genau kann ich dasselbe tun?
Gibt es auch Fallstricke oder Vorsichtsmaßnahmen, die ich beachten muss, bevor ich dies tue, da ich mich möglicherweise entscheide, sie eventuell auf GitHub zu verschieben (da es im Moment mehr Funktionen gibt, die ich für mein Projekt nützlich finden könnte? ).
Vielen Dank von - Ihre Antwort hat den Trick für mich getan. Ich habe gerade ein wenig zu Ihrer Antwort hinzugefügt, was die genaue Git-Fernbedienung betrifft. Hoffe das ist okay.
Boddhisattva
@boddhisattva Es ist in Ordnung, aber ich sehe, dass Ihre Bearbeitung abgelehnt wurde. Ich habe es selbst wieder in die Antwort aufgenommen.
VonC
5
Kommentare zum Importieren von Problemen und Labels? Kann etwas anderes als Code durch Ziehen und Drücken importiert werden? Vielen Dank.
@YakovK Mir ist kein automatischer Prozess bekannt, der PR und Probleme berücksichtigt. Zumindest sind PR in GitHub Zweige (siehe stackoverflow.com/a/30542987/6309 ), sodass sie importiert werden können.
VonC
1
@kiki Es werden alle lokalen Zweige gepusht , aber wenn Ihr lokales Repo selbst ein Klon ist, hat es nur den Master als standardmäßigen lokal ausgecheckten Zweig. Sie müssen zuerst die anderen lokalen Zweige nach ihren jeweiligen Fernverfolgungszweigen erstellen, bevor Sie sie verwenden können push --mirror. stackoverflow.com/a/18911322/6309 . Siehe auch die unter stackoverflow.com/a/24099141/6309 (letzter Satz) erwähnte Alternative
VonC
149
Dies ist sehr einfach durch Importieren der Repository-Funktion Anmelden bei github.com,
Seite des Profilbildes finden Sie eine +Schaltfläche, klicken Sie darauf, dann gibt es eine Option zu import repository. Sie finden eine Seite wie diese.
Die Klon-URL Ihres alten Repositorys ist erforderlich. In Ihrem Fall handelt es sich dabei um die Gitlab-Repo-URL. Wählen Sie dann Eigentümer und geben Sie den Namen für dieses Repo ein und klicken Sie auf, um mit dem Importieren zu beginnen.
Das ist super praktisch, dass GitHub das hinzugefügt hat. Es funktioniert jedoch nicht, wenn es sich um ein internes GitLab hinter einer Firewall handelt, was einen großen Anwendungsfall für GitLab darstellt.
Abalter
7
Nur eine kurze Notiz für alle anderen, die die Importoption verwenden. Ich musste MFA auf GitLab deaktivieren, damit dies funktioniert.
D-Day
2
Das funktioniert gut. Viel besser als die akzeptierte Antwort
LnxSlck
Wie, wenn ich Zweig importieren möchte?
coderInrRain
1
Das importierte Repository muss jetzt nicht unbedingt öffentlich sein, da Github das Hinzufügen privater Repositorys kostenlos gemacht hat.
Ich hatte das gegenteilige Problem und musste schließlich mein eigenes Bash-Shell-Skript für das Unternehmen erstellen, um die hundert Repos aufgrund einer Änderung der Unternehmensrichtlinien von Github nach Gitlab zu migrieren.
Das Skript verwendet die Gitlab-API, um ein Repo aus der Ferne zu erstellen und das Github-Repo hineinzuschieben. Es gibt noch keine README.md-Datei, aber die sh ist gut dokumentiert.
Dasselbe kann ich mir auch anders vorstellen. Hoffe das könnte helfen. https://github.com/mahmalsami/migrate-github-gitlab/blob/master/migrate.sh
Wenn Sie MFA in GitLab aktiviert haben, gehen Sie zu Repository-Einstellungen / Repository -> Schlüssel bereitstellen und erstellen Sie einen. Verwenden Sie ihn dann als Login, während Sie Repo auf GitHub importieren
push --mirror
. stackoverflow.com/a/18911322/6309 . Siehe auch die unter stackoverflow.com/a/24099141/6309 (letzter Satz) erwähnte AlternativeDies ist sehr einfach durch Importieren der Repository-Funktion Anmelden bei
github.com
,Seite des Profilbildes finden Sie eine
+
Schaltfläche, klicken Sie darauf, dann gibt es eine Option zuimport repository
. Sie finden eine Seite wie diese. Die Klon-URL Ihres alten Repositorys ist erforderlich. In Ihrem Fall handelt es sich dabei um die Gitlab-Repo-URL. Wählen Sie dann Eigentümer und geben Sie den Namen für dieses Repo ein und klicken Sie auf, um mit dem Importieren zu beginnen.quelle
Wenn Sie das Repo einschließlich des Wikis und aller Probleme und Meilensteine migrieren möchten, können Sie die Migration von Node-Gitlab-2-Github und GitLab zu GitHub verwenden
quelle
Ich hatte das gegenteilige Problem und musste schließlich mein eigenes Bash-Shell-Skript für das Unternehmen erstellen, um die hundert Repos aufgrund einer Änderung der Unternehmensrichtlinien von Github nach Gitlab zu migrieren.
Das Skript verwendet die Gitlab-API, um ein Repo aus der Ferne zu erstellen und das Github-Repo hineinzuschieben. Es gibt noch keine README.md-Datei, aber die sh ist gut dokumentiert.
Dasselbe kann ich mir auch anders vorstellen. Hoffe das könnte helfen.
https://github.com/mahmalsami/migrate-github-gitlab/blob/master/migrate.sh
quelle
Wenn Sie MFA in GitLab aktiviert haben, gehen Sie zu Repository-Einstellungen / Repository -> Schlüssel bereitstellen und erstellen Sie einen. Verwenden Sie ihn dann als Login, während Sie Repo auf GitHub importieren
quelle