Bevor Du ein Repository duplizierst und zu Deiner neuen Kopie (dem Spiegel) des Repositorys übertragen kannst, musst Du auf Ihre GitHub Enterprise Server-Instanz das neue Repository 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/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.
- 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/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, 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/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