Skip to main content

Enterprise Server 3.20 ist derzeit als Release Candidate verfügbar.

Einen Fork synchronisieren

Synchronisiere den Fork eines Repositorys, um ihn auf dem aktuellen Stand mit dem vorgelagerten Repository zu halten.

Wer kann dieses Feature verwenden?

People with write access for a forked repository can sync the fork to the upstream repository.

Platform navigation

Synchronisieren eines Fork-Zweigs über die Webbenutzeroberfläche

  1. Navigiere in GitHub zur Hauptseite des geforkten Repositorys, das du mit dem vorgelagerten Repository synchronisieren möchtest.

  2. Wähle über der Liste mit den Dateien das Dropdownmenü Fork synchronisieren aus.

    Screenshot der Hauptseite eines Forks. Ein Dropdownmenü mit einem Synchronisierungssymbol und dem Text „Fork synchronisieren“ ist dunkelorange umrandet.

  3. Überprüfe die Details zu den Commits aus dem vorgelagerten Repository, und klicke dann auf Branch aktualisieren.

Wenn die Änderungen aus dem vorgelagerten Repository Konflikte verursachen, fordert GitHub dich auf, einen Pull Request zu erstellen, um die Konflikte zu beheben.

Synchronisieren eines Fork-Branches mit GitHub CLI

GitHub CLI ist ein Open-Source-Tool zur Verwendung von GitHub über die Befehlszeile deines Computers. Wenn du über die Befehlszeile arbeitest, kannst du die GitHub CLI verwenden, um Zeit zu sparen und Kontextwechsel zu vermeiden. Weitere Informationen zur GitHub CLI findest du unter Informationen zu GitHub CLI.

Verwende zum Aktualisieren des Remoteforks aus dem übergeordneten Element den Unterbefehl gh repo sync -b BRANCH-NAME, und gib den Forknamen und den Branchnamen als Argument an.

gh repo sync owner/cli-fork -b BRANCH-NAME

Wenn die Änderungen aus dem vorgelagerten Repository Konflikte verursachen, kann GitHub CLI nicht synchronisieren. Du kannst das Flag --force festlegen, um den Zielzweig zu überschreiben.

Synchronisieren eines Fork-Branches über die Kommandozeile

Bevor du den Fork mit einem vorgelagerten Repository synchronisieren kannst, musst du in Git ein Remoterepository konfigurieren, das auf das vorgelagerte Repository verweist. Weitere Informationen finden Sie unter Konfigurieren eines Remoterepositorys für einen Fork.

  1. Öffne TerminalTerminalGit Bash.

  2. Ändere das aktuelle Arbeitsverzeichnis zu deinem lokalen Projekt.

  3. Rufe die Branches und die jeweiligen Commits aus dem Upstream-Repository ab. Commits in BRANCH-NAME werden im lokalen Branch upstream/BRANCH-NAME gespeichert.

    $ git fetch upstream
    > remote: Counting objects: 75, done.
    > remote: Compressing objects: 100% (53/53), done.
    > remote: Total 62 (delta 27), reused 44 (delta 9)
    > Unpacking objects: 100% (62/62), done.
    > From https://HOSTNAME/ORIGINAL-OWNER/ORIGINAL-REPOSITORY
    >  * [new branch]      main     -> upstream/main
    
  4. Überprüfen Sie den lokalen Standard-Zweig Ihres Forks – in diesem Fall verwenden wir main.

    $ git checkout main
    > Switched to branch 'main'
    
  5. Führe die Änderungen aus dem vorgelagerten Standardbranch (in diesem Fall upstream/main) in deinem lokalen Standardbranch zusammen. Dadurch wird der Standard-Zweig deines Forks mit dem vorgelagerten Repository synchronisiert, ohne dass deine lokalen Änderungen verloren gehen.

    $ git merge upstream/main
    > Updating a422352..5fdff0f
    > Fast-forward
    >  README                    |    9 -------
    >  README.md                 |    7 ++++++
    >  2 files changed, 7 insertions(+), 9 deletions(-)
    >  delete mode 100644 README
    >  create mode 100644 README.md
    

    Wenn dein lokaler Branch noch keine eindeutigen Commits besitzt, führt Git eine schnelle Weiterleitung aus. Weitere Informationen findest du unter Basic Branching and Merging in der Git-Dokumentation.

    $ git merge upstream/main
    > Updating 34e91da..16c56ad
    > Fast-forward
    >  README.md                 |    5 +++--
    >  1 file changed, 3 insertions(+), 2 deletions(-)
    

    Wenn dein lokaler Branch eindeutige Commits hatte, musst du möglicherweise Konflikte lösen. Weitere Informationen finden Sie unter Mergekonflikte beheben.

Tipp

Durch Synchronisieren des Forks wird nur die lokale Kopie des Repositorys aktualisiert. Um den Fork auf Ihre GitHub Enterprise Server-Instance zu aktualisieren, musst du deine Änderungen pushen.