Skip to main content

Importieren eines externen Git-Repositorys über die Befehlszeile

Wenn dein Git-Repository bei einem Codehostingdienst gespeichert ist, auf den über das öffentliche Internet nicht zugegriffen werden kann, kannst du das Repository mithilfe von Git über die Befehlszeile importieren.

Bevor du startest, stelle sicher, dass Dir Folgendes vorliegt:

  • Dein GitHub-Benutzername
  • Die Klon-URL für das externe Repository, z. B. https://external-host.com/user/repo.git oder git://external-host.com/user/repo.git (eventuell mit user@ vor dem Domänennamen external-host.com)

Note

Um die Methode vorzuführen und zu erläutern, verwenden wir

  • Ein externes Konto mit dem Namen extuser
  • Einen externen Git-Host namens https://external-host.com
  • Ein persönliches Konto für GitHub mit der Bezeichnung ghuser
  • Ein Repository auf GitHub.com namens repo.git.
  1. Erstelle ein neues Repository auf GitHub. Du wirst Dein externes Git-Repository in dieses neue Repository importieren.

  2. Erstelle in der Befehlszeile einen „leeren“ Klon des externen Repositorys mit der URL für den externen Klon. Dadurch wird eine vollständige Kopie der Daten angelegt, aber ohne Arbeitsverzeichnis für die Bearbeitung von Dateien. Außerdem wird der saubere Export aller alten Daten gewährleistet.

    $ git clone --bare https://external-host.com/EXTUSER/REPO.git
    # Makes a bare clone of the external repository in a local directory
    
  3. Übertrage das lokal geklonte Repository mit der „mirror"-Option (Spiegel-Option) zu GitHub, wodurch sichergestellt wird, dass alle Verweise wie Branches und Tags in das importierte Repository kopiert werden.

    $ cd REPO.git
    $ git push --mirror https://github.com/USER/REPO.git
    # Pushes the mirror to the new repository on GitHub.com
    
  4. Entferne das temporäre lokale Repository.

    cd ..
    rm -rf REPO.git
    

Wenn das Repository, das du importierst, große Dateien enthält, tritt möglicherweise eine Warnung oder ein Fehler auf. Weitere Informationen zu großen Dateien und deren Verwaltung findest du unter Informationen zu großen Dateien auf GitHub.

Weiterführende Themen