Skip to main content
Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite ist möglicherweise noch nicht abgeschlossen. Aktuelle Informationen findest du in der englischsprachigen Dokumentation.

Importieren aus anderen Versionskontrollsystemen mit der Verwaltungsshell

Mit der Verwaltungsshell kannst du Elemente aus Subversion, Mercurial und der Team Foundation-Versionskontrolle in Git-Repositorys in GitHub Enterprise Server importieren.

Wer kann dieses Feature verwenden?

Site administrators can use the administrative shell to import data from other version control systems.

Projekte aus Mercurial importieren

  1. Melde dich über SSH bei deine GitHub Enterprise Server-Instanz an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Weitere Informationen zum SSH-Zugriff findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

    $ ssh -p 122 admin@HOSTNAME
  2. Erstelle einen Klon im Rohdatenformat des Projekts. Führe dazu den folgenden Befehl aus. Gib dazu die URL des Quellprojekts und einen Pfad zum temporären Repository an:

    $ git-import-hg-raw HG-CLONE-URL/PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. Überprüfe die CSV-Datei in /PATH/REPO-NAME.git/git-import/raw-authors.csv. Sie sollte die folgenden Spalten enthalten:

    • ID: der im ursprünglichen Repository gespeicherte Autor, gefolgt von einem eindeutigen Kennzeichner
    • NAME: der im ursprünglichen Repository gespeicherte Autor

    Um Autoren aus dem ursprünglichen Repository einer E-Mail-Adresse und einem Namen zuzuordnen, erstelle eine neue CSV-Datei mit den Spalten ID,(ignored),GIT_EMAIL,GIT_NAME, wodurch die Autorinformationen für alles durch „ID“ mit „GIT_EMAIL“ und „GIT_NAME“ ersetzt werden.

    Beispiel:

    • Ursprüngliche Autor-ID: octocat@111111-2222-3333-4444-55555555555
    • Neue E-Mail-Adresse: octocat@github.com
    • Neuer Name: The Octocat

    Um den ursprünglichen Autor dem neuen Git-Benutzer zuzuordnen, sollte in der CSV-Datei die folgende Zeile enthalten sein:

    octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Schreibt die Autoren und Branches mit der CSV-Datei um:

    $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Wenn dies noch nicht erfolgt ist, erstelle ein neues leeres Repository auf GitHub Enterprise Server.

  6. Ändere das aktuelle Arbeitsverzeichnis in Dein lokales Repository.

  7. Übertrage das importierte Repository per Push-Vorgang an GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Projekte aus Subversion importieren

  1. Melde dich über SSH bei deine GitHub Enterprise Server-Instanz an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Weitere Informationen zum SSH-Zugriff findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

    $ ssh -p 122 admin@HOSTNAME
  2. Erstelle einen Klon im Rohdatenformat des Projekts. Führe dazu den folgenden Befehl aus. Gib dazu die URL des Quellprojekts und einen Pfad zum temporären Repository an:

    $ git-import-svn-raw SVN-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. Überprüfe die CSV-Datei in /PATH/REPO-NAME.git/git-import/raw-authors.csv. Sie sollte die folgenden Spalten enthalten:

    • ID: der im ursprünglichen Repository gespeicherte Autor, gefolgt von einem eindeutigen Kennzeichner
    • NAME: der im ursprünglichen Repository gespeicherte Autor

    Um Autoren aus dem ursprünglichen Repository einer E-Mail-Adresse und einem Namen zuzuordnen, erstelle eine neue CSV-Datei mit den Spalten ID,(ignored),GIT_EMAIL,GIT_NAME, wodurch die Autorinformationen für alles durch „ID“ mit „GIT_EMAIL“ und „GIT_NAME“ ersetzt werden.

    Beispiel:

    • Ursprüngliche Autor-ID: octocat@111111-2222-3333-4444-55555555555
    • Neue E-Mail-Adresse: octocat@github.com
    • Neuer Name: The Octocat

    Um den ursprünglichen Autor dem neuen Git-Benutzer zuzuordnen, sollte in der CSV-Datei die folgende Zeile enthalten sein:

    octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Schreibt die Autoren und Branches mit der CSV-Datei um:

    $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Wenn dies noch nicht erfolgt ist, erstelle ein neues leeres Repository auf GitHub Enterprise Server.

  6. Ändere das aktuelle Arbeitsverzeichnis in Dein lokales Repository.

  7. Übertrage das importierte Repository per Push-Vorgang an GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Projekte aus der Team Foundation-Versionskontrolle importieren

  1. Melde dich über SSH bei deine GitHub Enterprise Server-Instanz an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Weitere Informationen zum SSH-Zugriff findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

    $ ssh -p 122 admin@HOSTNAME
  2. Erstelle einen Klon im Rohdatenformat des Projekts. Führe dazu den folgenden Befehl aus. Gib dazu die URL des Quellprojekts und einen Pfad zum temporären Repository an:

    $ git-import-tfs-raw TEAM-FOUNDATION-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. Überprüfe die CSV-Datei in /PATH/REPO-NAME.git/git-import/raw-authors.csv. Sie sollte die folgenden Spalten enthalten:

    • ID: der im ursprünglichen Repository gespeicherte Autor, gefolgt von einem eindeutigen Kennzeichner
    • NAME: der im ursprünglichen Repository gespeicherte Autor

    Um Autoren aus dem ursprünglichen Repository einer E-Mail-Adresse und einem Namen zuzuordnen, erstelle eine neue CSV-Datei mit den Spalten ID,(ignored),GIT_EMAIL,GIT_NAME, wodurch die Autorinformationen für alles durch „ID“ mit „GIT_EMAIL“ und „GIT_NAME“ ersetzt werden.

    Beispiel:

    • Ursprüngliche Autor-ID: octocat@111111-2222-3333-4444-55555555555
    • Neue E-Mail-Adresse: octocat@github.com
    • Neuer Name: The Octocat

    Um den ursprünglichen Autor dem neuen Git-Benutzer zuzuordnen, sollte in der CSV-Datei die folgende Zeile enthalten sein:

    octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Schreibt die Autoren und Branches mit der CSV-Datei um:

    $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO_NAME.git
  5. Wenn dies noch nicht erfolgt ist, erstelle ein neues leeres Repository auf GitHub Enterprise Server.

  6. Ändere das aktuelle Arbeitsverzeichnis in Dein lokales Repository.

  7. Übertrage das importierte Repository per Push-Vorgang an GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Weiterführende Themen