Unterordner in ein neues Repository auslagern
Einzelne Ordner eines Git-Repositorys können Sie in neue Repositorys auslagern.
Wenn Sie bei der Erstellung eines Repository-Klons einen Ordner in ein separates Repository verschieben, verlieren Sie weder Ihren Git-Verlauf noch die bereits vorgenommenen Änderungen.
-
Open TerminalTerminalGit Bashthe terminal.
-
Wechseln Sie Ihr aktuelles Arbeitsverzeichnis in das Verzeichnis, in dem das neue Repository erstellt werden soll.
-
Klonen Sie das Repository, das den Unterordner enthält.
$ git clone https://Hostname/USERNAME/REPOSITORY-NAME
-
Wechseln Sie Ihr aktuelles Arbeitsverzeichnis in das Verzeichnis mit dem geklonten Repository.
$ cd REPOSITORY-NAME
-
Zum Ausfiltern des Unterordners aus der Gesamtheit der Repository-Dateien führen Sie
git filter-branch
mit Angabe der folgenden Informationen aus:-
FOLDER-NAME
: Der Ordner Ihres Projekts, aus dem Sie ein eigenes Repository erstellen möchten.Tipp: Windows-Benutzer verwenden zum Trennen von Ordnern den Schrägstrich
/
. -
BRANCH-NAME
: Der Standardbranch Ihres aktuellen Projekts, zum Beispielmaster
odergh-pages
.$ git filter-branch --prune-empty --subdirectory-filter FOLDER-NAME BRANCH-NAME # 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 nun nur die Dateien des zuvor angegebenen Unterordners enthalten.
-
-
Erstellen Sie ein neues Repository auf GitHub Enterprise.
-
At the top of your new GitHub Enterprise repository's Quick Setup page, click to copy the remote repository URL.
Tipp: Informationen zum Unterschied zwischen HTTPS- und SSH-URLs finden Sie unter „Welche Remote-URL sollte ich verwenden?“.
-
Ermitteln Sie den bestehenden Remote-Namen Ihres Repositorys. Zwei gängige Namen sind z. B.
origin
undupstream
.$ git remote -v > origin https://Hostname/USERNAME/REPOSITORY-NAME.git (fetch) > origin https://Hostname/USERNAME/REPOSITORY-NAME.git (push)
-
Richten Sie für Ihr neues Repository eine neue Remote-URL mit dem vorhandenen Remote-Namen und der URL des Remote-Repositorys ein, die Sie in Schritt 7 kopiert haben.
git remote set-url origin https://Hostname/USERNAME/NEW-REPOSITORY-NAME.git
-
Vergewissern Sie sich, 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)
-
Übertragen Sie Ihre Änderungen am neuen Repository per Push auf GitHub Enterprise.
git push -u origin BRANCH-NAME