Skip to main content

Eine kleine Anleitung, wie man ein Repository von einem git zu einem anderen umzieht und den kompletten Verlauf erhält – also ein 1:1 Klon, des alten Repositories. Anhand des Beispiels von Gitlab zu Github.

Dieser Prozess verwendet einen sogenannten „Bare Clone“, der eine exakte Kopie deines Repositories ohne einen Arbeitsordner erstellt – perfekt für eine 1:1-Migration.

 

Voraussetzungen

 

  • Git muss auf deinem lokalen Rechner installiert sein.
  • Du benötigst die URL deines GitLab-Repositories (am besten die SSH-URL).
  • Du musst ein neues, leeres Repository auf GitHub erstellt haben. Initialisiere es nicht mit einer README– oder .gitignore-Datei. Du brauchst nur die URL dieses leeren Repositories.

 

Schritt-für-Schritt-Anleitung

 

1. Erstelle einen „Bare Clone“ deines GitLab-Repositories clone

Führe diesen Befehl in deinem Terminal aus. Er lädt eine vollständige Kopie der Git-Datenbank herunter. Ersetze die URL durch deine eigene.

Bash

git clone --bare https://gitlab.com/DEIN-BENUTZERNAME/DEIN-REPO.git

Dieser Befehl erstellt einen neuen Ordner, der normalerweise auf .git endet (z.B., DEIN-REPO.git).

2. Wechsle in das neue Verzeichnis 📁

Navigiere in den gerade erstellten Ordner.

Bash

cd DEIN-REPO.git

3. Pushe das Repository nach GitHub 🚀

Jetzt schiebst du den kompletten Klon mit dem --mirror-Flag zu deinem neuen, leeren GitHub-Repository. Dies stellt sicher, dass alle Branches, Tags und Commits 1:1 übertragen werden. Ersetze die URL durch die deines neuen GitHub-Repos.

Bash

git push --mirror https://github.com/DEIN-BENUTZERNAME/DEIN-NEUES-REPO.git

Der Push-Vorgang kann je nach Größe deines Repositories eine Weile dauern.

4. Räume die lokale Kopie auf 🧹

Nachdem der Push erfolgreich war, benötigst du den lokalen .git-Ordner nicht mehr. Du kannst ihn sicher löschen.

Bash

cd ..
rm -rf DEIN-REPO.git

 

Überprüfung

Das war’s schon! Gehe nun auf deine GitHub-Seite. Du solltest sehen, dass das Repository vollständig gefüllt ist und der Commit-Verlauf, alle Branches und Tags mit deinem GitLab-Repository identisch sind. Du kannst das Projekt jetzt wie gewohnt von GitHub klonen, um damit zu arbeiten.

Leave a Reply