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://github.com/USERNAME/REPOSITORY-NAME
  4. Ändere Dein aktuelles Arbeitsverzeichnis in das Verzeichnis mit dem geklonten Repository.

    $ cd REPOSITORY-NAME
  5. To filter out the subfolder from the rest of the files in the repository, run git filter-repo, supplying this information:

    • FOLDER-NAME: The folder within your project where you'd like to create a separate repository.

      <div class="extended-markdown tip border rounded-1 mb-4 p-3 color-border-info color-bg-info f5">
      
      **Tipp:** Windows-Benutzer verwenden zum Trennen von Ordnern den Schrägstrich `/`.
      
      </div>
      
      $ 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

      The repository should now only contain the files that were in your subfolder(s).

  6. Erstelle ein neues Repository auf GitHub.

  7. Klicken Sie oben auf der Seite zur Schnelleinrichtung Ihres neuen GitHub-Repositorys auf , um die URL des Remote-Repositorys zu kopieren. Feld zum Kopieren der Remote-Repository-URL

    Tip: For information on the difference between HTTPS and SSH URLs, see "About remote repositories."

  8. Prüfe den bestehenden Remote-Namen Deines Repositorys. Zwei gängige Namen sind z. B. origin oder upstream.

    $ git remote -v
    > origin  https://github.com/USERNAME/REPOSITORY-NAME.git (fetch)
    > origin  https://github.com/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://github.com/USERNAME/NEW-REPOSITORY-NAME.git
  10. Vergewissere Dich, dass die Remote-URL in den Namen des neuen Repositorys geändert wurde.

    $ git remote -v
    # Verifiziere die neue Remote-URL
    > origin  https://github.com/USERNAME/NEW-REPOSITORY-NAME.git (fetch)
    > origin  https://github.com/USERNAME/NEW-REPOSITORY-NAME.git (push)
  11. Übertrage Deine Änderungen am neuen Repository per Push auf GitHub.

    git push -u origin BRANCH-NAME

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.