Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Ein Git-Repository über die Befehlszeile importieren

Wenn GitHub Importer für deine Zwecke nicht geeignet ist, z. B. wenn dein vorhandener Code in einem privaten Netzwerk gehostet ist, wird das Importieren mithilfe der Befehlszeile empfohlen.

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)

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 mit dem Namen 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 Repositorys mit der externen Klon-URL. 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.