Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite kann noch im Gange sein. Die neuesten Informationen findest Du in der englischsprachigen Dokumentation. Informieren Sie uns bitte, falls auf dieser Seite ein Problem mit den Übersetzungen vorliegt.

Diese Version von GitHub Enterprise wurde eingestellt am 2020-11-12. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für eine bessere Leistung, verbesserte Sicherheit und neue Features nimm ein Upgrade auf die neueste Version von GitHub Enterprise vor. Wende Dich an den GitHub Enterprise-Support, um Hilfe beim Upgrade zu erhalten.

Migrationsdaten von GitHub.com exportieren

You can export migration data from an organization on GitHub.com by using the API to select repositories to migrate, then generating a migration archive that you can import into a GitHub Enterprise Server instance.

Inhalt dieses Artikels

Preparing the source organization on GitHub

  1. Stellen Sie sicher, dass Sie für die Repositorys in der Quellorganisation über Inhaberberechtigungen verfügen.

  2. Generiere ein Zugriffstoken mit den Bereichen repo und admin:org auf GitHub.com.

  3. Erstelle zum Minimieren der Ausfallzeit eine Liste der Repositorys, die Du von der Quellinstanz exportieren möchtest. Du kannst mehrere Repositorys gleichzeitig zu einem Export hinzufügen. verwende dazu eine Textdatei, in der die URL jedes Repositorys in einer separaten Zeile aufgelistet wird.

Exporting the organization's repositories

Hinweis: Fork-Beziehungen bleiben nach einer Migration nicht bestehen.

Verwenden Sie die API für Migrationen, um Repository-Daten von GitHub.com zu exportieren.

Die API für Migrationen befindet sich derzeit in einer Vorschauphase, weshalb sich die Endpunkte und Parameter künftig ändern können. Um auf die API für Migrationen zuzugreifen, müssen Sie einen benutzerdefinierten Medientyp im Header Accept angeben: application/vnd.github.wyandotte-preview+json. Die folgenden Beispiele enthalten den benutzerdefinierten Medientyp.

Migrationsarchiv generieren

Hinweis: Wenn ein Repository gesperrt wird, werden Benutzer daran gehindert, Elemente auf das Repository zu übertragen oder die Ressourcen, beispielsweise Issues, Kennzeichnungen, Meilensteine, Wikis und Kommentare eines Repositorys zu ändern. Es ist nicht möglich, neue Teams und Mitarbeiter einem gesperrten Repository zuzuordnen.

Wenn Du einen Probelauf durchführst, musst Du die Repositorys nicht sperren. Andernfalls wird dies dringend empfohlen. Weitere Informationen finden Sie unter „Informationen zu Migrationen“.

  1. Benachrichtigen Sie die Mitglieder Ihrer Organisation, dass Sie eine Migration durchführen werden. Der Export kann entsprechend der Anzahl der zu exportierenden Repositorys mehrere Minuten dauern. Die vollständige Migration, einschließlich des Imports, dauert ggf. mehrere Stunden. Daher wird empfohlen, einen Probelauf durchzuführen, um die Länge des vollständigen Prozesses ermitteln zu können. Weitere Informationen finden Sie unter „Informationen zu Migrationen“.

  2. Starten Sie eine Migration. Senden Sie dazu eine POST-Anforderung an den Migrationsendpunkt. Sie benötigen Folgendes:

    • Ihr Zugriffstoken für die Authentifizierung.
    • Eine Liste der Repositorys, die migriert werden sollen:
      curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X POST \
      -H "Accept: application/vnd.github.wyandotte-preview+json" \
      -d'{"lock_repositories":true,"repositories":["orgname/reponame", "orgname/reponame"]}' \
      https://api.github.com/orgs/orgname/migrations
    • Wenn Sie die Repositorys sperren möchten, bevor Sie sie migrieren, stellen Sie sicher, dass lock_repositories auf true festgelegt ist. Dies wird dringend empfohlen.
    • Dateianhänge können ausgeschlossen werden. Übergeben Sie dazu exclude_attachments: true an den Endpunkt. Dateianhänge können groß sein und blähen Ihr endgültiges Migrationsarchiv ggf. unnötig auf. Die endgültige Archivgröße muss kleiner als 20 GB sein.

    Diese Anforderung gibt eine eindeutige ID zurück, die Ihre Migration darstellt. Sie benötigen diese für nachfolgende Aufrufe der API für Migrationen.

  3. Senden Sie eine GET-Anforderung an den Endpunkt für den Status der Migration, um den Status einer Migration abzurufen. Sie benötigen Folgendes:

    • Ihr Zugriffstoken für die Authentifizierung.
    • Die eindeutige ID der Migration:
      curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \
      -H "Accept: application/vnd.github.wyandotte-preview+json" \
      https://api.github.com/orgs/orgname/migrations/id

    Eine Migration kann einen der folgenden Zustände aufweisen:

    • pending (ausstehend): Die Migration wurde noch nicht gestartet.
    • exporting (wird exportiert): Die Migration wird ausgeführt.
    • exported (exportiert): Die Migration wurde erfolgreich abgeschlossen.
    • failed (fehlgeschlagen): Die Migration ist fehlgeschlagen.
  4. Laden Sie nach dem Export Ihrer Migration das Migrationsarchiv herunter. Senden Sie dazu eine GET-Anforderung an den Endpunkt für den Download der Migration. Sie benötigen Folgendes:

    • Ihr Zugriffstoken für die Authentifizierung.
    • Die eindeutige ID der Migration:
      curl -H "Accept: application/vnd.github.wyandotte-preview+json" \
      -u GITHUB_USERNAME:GITHUB_ACCESS_TOKEN \
      -L -o migration_archive.tar.gz \
      https://api.github.com/orgs/orgname/migrations/id/archive
  5. Das Migrationsarchiv wird nach sieben Tagen automatisch gelöscht. Wenn Sie es schneller löschen möchten, senden Sie eine DELETE-Anforderung an den Endpunkt zum Löschen des Migrationsarchivs. Sie benötigen Folgendes:

    • Ihr Zugriffstoken für die Authentifizierung.
    • Die eindeutige ID der Migration:
      curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \
      -H "Accept: application/vnd.github.wyandotte-preview+json" \
      https://api.github.com/orgs/orgname/migrations/id/archive
  6. Informationen zum Importieren der archivierten Migrationsdaten auf eine GitHub Enterprise Server-Instanz findest Du unter „Migrationsdaten in GitHub Enterprise Server importieren“.