Bevor du das ursprüngliche Repository an deine neue Kopie oder Spiegelung des Repositorys übertragen kannst, musst du das neue Repository unter Ihre GitHub Enterprise Server-Instance erstellen. In diesen Beispielen sind exampleuser/new-repository
oder exampleuser/mirrored
die Spiegel.
Ein Repository spiegeln
-
Öffne TerminalTerminalGit Bash.
-
Erstelle einen leeren Klon des Repositorys.
git clone --bare https://HOSTNAME/EXAMPLE-USER/OLD-REPOSITORY.git
-
Führe den Spiegel-Push in das neue Repository durch.
cd OLD-REPOSITORY.git git push --mirror https://HOSTNAME/EXAMPLE-USER/NEW-REPOSITORY.git
-
Entferne das temporäre lokale Repository, das du früher erstellt hast.
cd .. rm -rf OLD-REPOSITORY.git
Ein Repository spiegeln, das Git Large File Storage-Objekte enthält
-
Öffne TerminalTerminalGit Bash.
-
Erstelle einen leeren Klon des Repositorys. Ersetze den Beispiel-Benutzernamen durch den Namen der Person oder Organisation, der das Repository gehört, und ersetze den Beispiel-Repository-Namen durch den Namen des Repositorys, das du duplizieren möchtest.
git clone --bare https://HOSTNAME/EXAMPLE-USER/OLD-REPOSITORY.git
-
Navigiere zu dem Repository, das du gerade geklont hast.
cd OLD-REPOSITORY.git
-
Rufe die Git Large File Storage-Objekte des Repositorys ab.
git lfs fetch --all
-
Führe den Spiegel-Push in das neue Repository durch.
git push --mirror https://HOSTNAME/EXAMPLE-USER/NEW-REPOSITORY.git
-
Übertrage die Git Large File Storage-Objekte des Repositorys zu deinem Spiegel.
git lfs push --all https://github.com/EXAMPLE-USER/NEW-REPOSITORY.git
-
Entferne das temporäre lokale Repository, das du früher erstellt hast.
cd .. rm -rf OLD-REPOSITORY.git
Ein Repository an einem anderen Ort spiegeln
Wenn du ein Repository an einem anderen Ort spiegeln und Aktualisierungen vom Original-Repository abrufen möchtest, kannst du einen Spiegel klonen und die Änderungen regelmäßig per Push übertragen.
-
Öffne TerminalTerminalGit Bash.
-
Erstelle einen leeren gespiegelten Klon des Repositorys.
git clone --mirror https://HOSTNAME/EXAMPLE-USER/REPOSITORY-TO-MIRROR.git
-
Lege den Push-Ort auf deinen Spiegel fest.
cd REPOSITORY-TO-MIRROR git remote set-url --push origin https://HOSTNAME/EXAMPLE-USER/MIRRORED
Wie ein leerer Klon enthält ein gespiegelter Klon alle Remote-Branches und Tags. Alle lokalen Verweise werden jedoch bei jedem Abrufen überschrieben, sodass er immer mit dem Original-Repository übereinstimmt. Das Festlegen einer Push-URL vereinfacht Pushes zu deinem Spiegel.
-
Um deinen Spiegel zu aktualisieren, rufe Änderungen ab und übertrage sie per Push.
git fetch -p origin git push --mirror