Skip to main content

Importieren eines Repositorys aus der Team Foundation-Versionskontrolle

Du kannst ein Repository aus der Team Foundation-Versionskontrolle (TFVC) importieren, indem du das Repository in Git konvertierst und dann das Git-Repository an GitHub pushst.

Informationen zu Importen aus der Team Foundation-Versionskontrolle

Es wird die Verwendung von Azure Repos zum Konvertieren von Repositorys aus der Team Foundation-Versionskontrolle (TFVC) in Git empfohlen. Azure Repos migriert jedoch nur bis zu 180 Tage des Verlaufs. Wenn du einen längeren Verlauf beibehalten möchtest, kannst du stattdessen git-tfs verwenden.

Hinweis: Azure Repos migriert nur bis zu 180 Tage des Verlaufs. Der Status deines Repositorys vor dem Schwellenwert von 180 Tagen wird in einem einzelnen Commit migriert. Weitere Informationen zum Beibehalten des Verlaufs findest du unter Migrieren mit git-tfs.

Für diese Schritte musst du ein macOS- oder Linux-System verwenden und die folgenden Tools installiert haben:

  1. Erstellen Sie ein neues Repository auf GitHub. Initialisiere das neue Repository nicht mit README-, Lizenz- oder gitignore-Dateien, um Fehler zu vermeiden. Sie können diese Dateien hinzufügen, nachdem Ihr Projekt per Push an GitHub übergeben wurde. Weitere Informationen finden Sie unter Ein neues Repository erstellen.

  2. Führe git --version. aus, um zu bestätigen, dass Git auf deinem Computer installiert ist.

    Die Ausgabe sollte in etwa wie folgt aussehen: git version 2.40.0.

  3. Führe git lfs --version aus, um zu bestätigen, dass Git LFS auf deinem Computer installiert ist.

    Die Ausgabe sollte in etwa wie folgt aussehen: git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1).

  4. Konvertiere dein TFVC-Repository mithilfe von Azure Repos in Git. Anweisungen findest du unter Importieren von Repositorys aus TFVC in Git in Microsoft Learn.

  5. Um dein Azure Repos-Repository auf deinen lokalen Computer zu klonen, führe git clone --mirror URL aus, und ersetze die URL durch die Klon-URL für dein Azure DevOps-Repository.

    Wie du die Klon-URL für dein Azure DevOps-Repository findest, erfährst du unter Abrufen der Klon-URL eines Azure Repos Git-Repositorys in Microsoft Learn.

  6. Führe git remote add origin URL aus, und ersetze dabei URL durch die URL für das zuvor erstellte GitHub-Repository (z. B. https://github.com/octocat/example-repository.git), um das GitHub-Repository als Remoterepository hinzuzufügen.

  7. Führe git push --mirror origin aus, um das Repository per Push an GitHub zu übertragen.

    Enthält das Repository Dateien, die größer als die maximale Dateigröße in GitHub sind, führt der Pushvorgang möglicherweise zu einem Fehler. Führe git lfs import aus, um die großen Dateien in Git LFS zu verschieben, und versuch es dann erneut.

Migrieren mit git-tfs

Wenn du mit git-tfs migrierst, bleibt der vollständige Verlauf deines TFVC-Repositorys erhalten.

Um diese Schritte auszuführen, musst du Windows verwenden und die folgenden Tools installiert haben:

  1. Erstellen Sie ein neues Repository auf GitHub. Initialisiere das neue Repository nicht mit README-, Lizenz- oder gitignore-Dateien, um Fehler zu vermeiden. Sie können diese Dateien hinzufügen, nachdem Ihr Projekt per Push an GitHub übergeben wurde. Weitere Informationen finden Sie unter Ein neues Repository erstellen.

  2. Führe git --version. aus, um zu bestätigen, dass Git auf deinem Computer installiert ist.

    Die Ausgabe sollte in etwa wie folgt aussehen: git version 2.40.0.

  3. Führe git tfs --version aus, um zu bestätigen, dass git-tfs auf deinem Computer installiert ist.

    Der Beginn der Ausgabe sollte git-tfs version 0.32.0.0 (TFS client library 16.0.0.0 (MS)) ähneln.

    Wenn du eine Unable to load DLL 'Microsoft.VisualStudio.Setup.Configuration.Native.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) ähnelnde Ausgabe erhältst, stelle sicher, dass Visual Studio Team Explorer ordnungsgemäß installiert ist.

  4. Führe git lfs --version aus, um zu bestätigen, dass Git LFS auf deinem Computer installiert ist.

    Die Ausgabe sollte in etwa wie folgt aussehen: git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1).

  5. Falls noch nicht geschehen, konfiguriere Git mit deinem Namen und deiner E-Mail-Adresse, indem du git config --global user.name "NAME" und git config --global user.email EMAIL ausführst und NAME durch deinen Namen und EMAIL durch deine E-Mail-Adresse ersetzt.

  6. Führe git tfs clone aus, und übergib die URL und den Repositorypfad deines TFVC-Repositorys als Argumente. Führe beispielsweise git tfs clone --branches=all https://dev.azure.com/octocat $/example aus, um das example-Repository von https://dev.azure.com/octocat in ein im /example-Verzeichnis gespeichertes Git-Repository zu konvertieren.

  7. Wechsle in das Verzeichnis für das neu erstellte Git-Repository.

  8. Führe git remote add origin URL aus, und ersetze dabei URL durch die URL für das zuvor erstellte GitHub-Repository (z. B. https://github.com/octocat/example-repository.git), um das GitHub-Repository als Remoterepository hinzuzufügen.

  9. Führe git push --mirror origin aus, um das Repository per Push an GitHub zu übertragen.

    Enthält das Repository Dateien, die größer als die maximale Dateigröße in GitHub sind, führt der Pushvorgang möglicherweise zu einem Fehler. Führe git lfs import aus, um die großen Dateien in Git LFS zu verschieben, und versuch es dann erneut.

Weitere Informationsquellen