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
-
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).
-
-
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.
Tip: For information on the difference between HTTPS and SSH URLs, see "About remote repositories."
-
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