Ein Repository duplizieren

To maintain a mirror of a repository without forking it, you can run a special clone command, then mirror-push to the new repository.

Before you can push the original repository to your new copy, or mirror, of the repository, you must create the new repository on your GitHub Enterprise Server instance. In diesen Beispielen sind exampleuser/new-repository oder exampleuser/mirrored die Spiegel.

Ein Repository spiegeln

  1. Öffne TerminalTerminalGit Bash.
  2. Erstellen Sie einen leeren Klon des Repositorys.
    $ git clone --bare https://Hostname/exampleuser/old-repository.git
  3. Führe den Spiegel-Push in das neue Repository durch.
    $ cd old-repository
    $ git push --mirror https://Hostname/exampleuser/new-repository.git
  4. Entferne das temporäre lokale Repository, dass Du früher erstellt hast.
    $ cd ..
    $ rm -rf old-repository

Ein Repository spiegeln, das Git Large File Storage-Objekte enthält

  1. Öffne TerminalTerminalGit Bash.
  2. 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
  3. Navigiere zu dem Repository, das Du gerade geklont hast.
    $ cd old-repository
  4. Rufe die Git Large File Storage-Objekte des Repositorys ab.
    $ git lfs fetch --all
  5. Führe den Spiegel-Push in das neue Repository durch.
    $ git push --mirror https://Hostname/exampleuser/new-repository.git
  6. Übertrage die Git Large File Storage-Objekte des Repositorys zu Deinem Spiegel.
    $ git lfs push --all https://github.com/exampleuser/new-repository.git
  7. Entferne das temporäre lokale Repository, dass Du früher erstellt hast.
    $ cd ..
    $ rm -rf old-repository

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.

  1. Öffne TerminalTerminalGit Bash.
  2. Erstelle einen leeren gespiegelten Klon des Repositorys.
    $ git clone --mirror https://Hostname/exampleuser/repository-to-mirror.git
  3. Lege den Push-Ort auf Deinen Spiegel fest.
    $ cd repository-to-mirror
    $ 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

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Oder, learn how to contribute.