Bevor Du ein Repository duplizierst und zu Deiner neuen Kopie (dem Spiegel) des Repositorys übertragen kannst, musst Du auf your GitHub Enterprise Server instance das neue Repository erstellen. In diesen Beispielen sind exampleuser/new-repository
oder exampleuser/mirrored
die Spiegel.
Ein Repository spiegeln
- Öffne TerminalTerminalGit Bash.
- Erstellen Sie einen leeren Klon des Repositorys.
$ git clone --bare https://hostname/exampleuser/old-repository.git
- Führe den Spiegel-Push in das neue Repository durch.
$ cd old-repository.git $ git push --mirror https://hostname/exampleuser/new-repository.git
- Entferne das temporäre lokale Repository, dass 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.
- Erstellen Sie 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/exampleuser/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/exampleuser/new-repository.git
- Übertrage die Git Large File Storage-Objekte des Repositorys zu Deinem Spiegel.
$ git lfs push --all https://github.com/exampleuser/new-repository.git
- Entferne das temporäre lokale Repository, dass 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/exampleuser/repository-to-mirror.git
- Lege den Push-Ort auf Deinen Spiegel fest.
$ cd repository-to-mirror.git $ git remote set-url --push origin https://hostname/exampleuser/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