Bevor du das ursprüngliche Repository an deine neue Kopie oder Spiegelung des Repositorys übertragen kannst, musst du das neue Repository unter deine GitHub Enterprise Server-Instanz 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