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.

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

Note: Locking a repository prevents all read or write access to the repository. You cannot associate new teams or collaborators with a locked repository. If you're performing a trial run, you do not need to lock the repository. When you migrate data from a repository that's in use,

GitHub strongly recommends locking the repository. 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. Start a migration by sending a POST request to the migration endpoint. 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. To prepare the archived migration data for import into a GitHub Enterprise Server instance, see "Preparing to migrate data to your enterprise".

Did this doc help you?Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Oder, learn how to contribute.