Skip to main content

Unterordner in ein neues Repository auslagern

Einzelne Ordner eines Git-Repositorys kannst du in neue Repositorys auslagern.

Wenn Du bei der Erstellung eines Repository-Klons einen Ordner in ein separates Repository verschiebst, verlierst Du weder Deinen Git-Verlauf noch die bereits vorgenommenen Änderungen.

  1. Öffne TerminalTerminalGit Bash.

  2. Ändere Dein aktuelles Arbeitsverzeichnis in das Verzeichnis, in dem das neue Repository erstellt werden soll.

  3. Klone das Repository, das den Unterordner enthält.

    $ git clone https://HOSTNAME/USERNAME/REPOSITORY-NAME
  4. Ändere Dein aktuelles Arbeitsverzeichnis in das Verzeichnis mit dem geklonten Repository.

    $ cd REPOSITORY-NAME
  5. Um den Unterordner aus den restlichen Dateien im Repository herauszufiltern, installiere git-filter-repo, und führe dann git filter-repo mit den folgenden Argumenten aus:

    • FOLDER-NAME: Der Ordner in deinem Projekt, in dem du ein separates Repository erstellen möchtest.

    Tipp: Windows-Benutzer sollten / zum Trennen von Ordnern verwenden.

    $ git filter-repo --path FOLDER-NAME1/ --path FOLDER-NAME2/
    # Filter the specified branch in your directory and remove empty commits
    > Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89)
    > Ref 'refs/heads/BRANCH-NAME' was rewritten

    Das Repository sollte jetzt nur die Dateien aus dem bzw. den zuvor angegebenen Unterordner(n) enthalten.

  6. Erstelle ein neues Repository auf GitHub AE.

  7. Klicke oben in deinem neuen Repository auf der Seite zur Schnelleinrichtung deiner GitHub AE auf , um die URL des Remoterepositorys zu kopieren.

    Feld zum Kopieren der Remote-Repository-URL

    Tipp: Informationen zum Unterschied zwischen HTTPS- und SSH-URLs findest du unter Informationen zu Remoterepositorys.

  8. Prüfe den bestehenden Remote-Namen Deines Repositorys. Beispielsweise sind origin oder upstream zwei häufige Optionen.

    $ git remote -v
    > origin  https://HOSTNAME/USERNAME/REPOSITORY-NAME.git (fetch)
    > origin  https://HOSTNAME/USERNAME/REPOSITORY-NAME.git (push)
  9. Richte für Dein neues Repository eine neue Remote-URL mit dem vorhandenen Remote-Namen und der URL des Remote-Repositorys ein, die Du in Schritt 7 kopiert hast.

    git remote set-url origin https://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git
  10. Vergewissere Dich, dass die Remote-URL in den Namen des neuen Repositorys geändert wurde.

    $ git remote -v
    # Verify new remote URL
    > origin  https://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git (fetch)
    > origin  https://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git (push)
  11. Übertrage Deine Änderungen am neuen Repository per Push auf GitHub AE.

    git push -u origin BRANCH-NAME