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.
-
Öffne TerminalTerminalGit Bash.
-
Ändere Dein aktuelles Arbeitsverzeichnis in das Verzeichnis, in dem das neue Repository erstellt werden soll.
-
Klone das Repository, das den Unterordner enthält.
$ git clone https://hostname/USERNAME/REPOSITORY-NAME
-
Ändere Dein aktuelles Arbeitsverzeichnis in das Verzeichnis mit dem geklonten Repository.
$ cd REPOSITORY-NAME
-
Zum Extrahieren des Unterordners aus der Gesamtheit der Repository-Dateien führe
git filter-branch
mit Angabe der folgenden Informationen aus:-
FOLDER-NAME
: Der Ordner Deines Projekts, aus dem Du ein eigenes Repository erstellen möchtest.Tipp: Windows-Benutzer verwenden zum Trennen von Ordnern den Schrägstrich
/
. -
BRANCH-NAME
: The default branch for your current project, for example,main
orgh-pages
.$ git filter-branch --prune-empty --subdirectory-filter FOLDER-NAME BRANCH-NAME # Filtere den spezifischen Branch in Deinem Verzeichnis und entferne leere Commits > Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89) > Ref 'refs/heads/BRANCH-NAME' was rewritten
Das Repository sollte nun nur die Dateien des zuvor angegebenen Unterordners enthalten.
-
-
Erstelle ein neues Repository auf GitHub Enterprise Server.
-
Klicken Sie oben auf der Seite zur Schnelleinrichtung Ihres neuen GitHub Enterprise Server-Repositorys auf , um die URL des Remote-Repositorys zu kopieren.
Tipp: Informationen zum Unterschied zwischen HTTPS- und SSH-URLs findest Du unter „Welche Remote-URL sollte ich verwenden?.“
-
Prüfe den bestehenden Remote-Namen Deines Repositorys. Zwei gängige Namen sind z. B.
origin
oderupstream
.$ git remote -v > origin https://hostname/USERNAME/REPOSITORY-NAME.git (fetch) > origin https://hostname/USERNAME/REPOSITORY-NAME.git (push)
-
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
-
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://hostname/USERNAME/NEW-REPOSITORY-NAME.git (fetch) > origin https://hostname/USERNAME/NEW-REPOSITORY-NAME.git (push)
-
Übertrage Deine Änderungen am neuen Repository per Push auf GitHub Enterprise Server.
git push -u origin BRANCH-NAME