Skip to main content

Ein Repository forken

Ein Fork ist ein neues Repository, das denselben Code und dieselben Sichtbarkeitseinstellungen verwendet wie das ursprüngliche „Upstream-Repository“.

Platform navigation

Informationen zu Forks

Ein Fork ist ein neues Repository, das denselben Code und dieselben Sichtbarkeitseinstellungen verwendet wie das ursprüngliche „Upstream-Repository“. Forks werden oft verwendet, um Ideen oder Änderungen zu überprüfen, bevor sie für das Upstream-Repository vorgeschlagen werden, z. B. in Open-Source-Projekten oder wenn ein Benutzer keinen Schreibzugriff auf das Upstream-Repository hat. Weitere Informationen findest du unter Mit Forks arbeiten.

Änderungen für ein Projekt eines anderen Benutzers vorschlagen

Du kannst Forks beispielsweise benutzen, um Änderungen im Zusammenhang mit der Behebung eines Fehlers vorzuschlagen. Anstatt ein Issue für einen Bug zu erstellen, kannst du Folgendes tun:

  • Forke das Repository.
  • den Fehler beheben,
  • Einen Pull Request an den Projektbesitzer senden

Ein Projekt eines anderen Benutzers als Ausgangspunkt für eigene Ideen verwenden

Open-Source-Software basiert auf der Idee, dass wir durch gemeinsamen Code bessere, zuverlässigere Software erstellen können. Weitere Informationen findest du in der Open-Source-Initiative unter Informationen zur Open-Source-Initiative.

Weitere Informationen zum Anwenden von Open-Source-Prinzipien auf die Entwicklungsarbeit deiner Organisation auf GitHub finden Sie im GitHub-Whitepaper Eine Einführung in Innersource.

Wenn du ein öffentliches Repository von einem Fork eines Projekts anderer Benutzer*innen erstellst, musst du unbedingt eine Lizenzdatei hinzufügen, die bestimmt, wie dein Projekt für andere Personen freigegeben wird. Weitere Informationen findest du unter Auswählen einer Open-Source-Lizenz unter choosealicense.com.

Weitere Informationen zu Open Source, insbesondere zum Erstellen und Herausbilden eines Open-Source-Projekts, findest du in den von uns erstellten Open-Source-Leitfäden. Diese unterstützen dich bei der Förderung einer intakten Open-Source-Community durch die Empfehlung von Best Practices für das Erstellen und Warten von Repositorys für dein Open-Source-Projekt. Du kannst auch einen kostenlosen GitHub Skills-Kurs zum Verwalten von Open-Source-Communitys absolvieren.

Voraussetzungen

Sofern noch nicht geschehen, richte zunächst Git und die Authentifizierung bei GitHub.com über Git ein. Weitere Informationen findest du unter Einrichten von Git.

Repository forken

Du forkst vielleicht ein Projekt, um Änderungen für das Upstream-Repository vorzuschlagen. In diesem Fall ist es ratsam, deinen Fork regelmäßig mit dem vorgelagerten Repository zu synchronisieren. Zu diesem Zweck musst du Git in der Befehlszeile verwenden. Du kannst Festlegen des Upstreamrepositorys anhand desselben octocat/Spoon-Knife-Repositorys üben, das du gerade geforkt hast.

  1. Unter GitHub, navigieren Sie zum octocat/Spoon-Knife Repository.

  2. Klicke in der oberen rechten Ecke der Seite auf Forken.

    Screenshot der Hauptseite eines Repositorys. Eine Schaltfläche mit einem Forkensymbol und der Bezeichnung „Fork 59.3k“ ist dunkelorange umrandet.

  3. Wähle unter „Besitzer“ das Dropdownmenü und dann einen Besitzerin für das geforkte Repository aus.

  4. Standardmäßig erhalten Forks den gleichen Namen wie die zugehörigen Upstream-Repositorys. Um deinen Fork noch genauer zu unterscheiden, kannst du optional im Feld „Repositoryname“ einen Namen eingeben.

  5. Gib optional im Feld „Beschreibung“ eine Beschreibung für deinen Fork ein.

  6. Wähle optional Nur Standardbranch kopieren aus.

    Bei vielen Forkszenarien, z. B. Beiträge zu Open-Source-Projekten, musst du nur den Standardbranch kopieren. Wenn du diese Option nicht auswählst, werden alle Branches in den neuen Fork kopiert.

  7. Klicke auf Fork erstellen.

Note

Du kannst über die Seite Branches weitere Branches aus dem Upstreamrepository kopieren. Weitere Informationen findest du unter Erstellen und Löschen von Branches in deinem Repository.

Note

Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.

Um einen Fork für ein Repository zu erstellen, verwende den Unterbefehl gh repo fork.

gh repo fork REPOSITORY

Um den Fork in einer Organisation zu erstellen, verwende das --org-Flag.

gh repo fork REPOSITORY --org "octo-org"

Auf GitHub.com oder in GitHub Desktop kannst du ein Repository forken. Informationen zum Forking auf GitHub.com findest du in der Webbrowserversion dieses Artikels.

Wenn du versuchst, in GitHub Desktop ein Repository zu klonen, auf das du keinen Schreibzugriff hast, wird automatisch ein Fork erstellt.

  1. Klicke im Menü File auf Repository klonen.

    Screenshot der Menüleiste auf einem Mac. Das Dropdownmenü „Datei“ wird erweitert, und die Option „Repository klonen“ ist orange umrandet.

    Screenshot der Menüleiste „GitHub Desktop“ unter Windows. Das Dropdownmenü „Datei“ wird erweitert, und die Option „Repository klonen“ ist orange umrandet.

  2. Klicke auf die Registerkarte, die dem Speicherort des zu klonenden Repositorys entspricht. Du kannst auch auf URL klicken, um den Repository-Speicherort manuell einzugeben.

    Screenshot des Fensters „Repository klonen“. Oben im Fenster werden Registerkarten mit der Bezeichnung „GitHub.com“, „GitHub Enterprise“ und „URL“ durch einen orangefarbenen Rahmen hervorgehoben.

  3. Klicke in der Liste der Repositorys auf das Repository, das du klonen möchtest.

    Screenshot des Fensters „Repository klonen“. Das Repository „github/docs“ ist orange umrandet.

  4. Um das lokale Verzeichnis auszuwählen, in das du das Repository klonen möchtest, klicke neben dem Feld „Lokaler Pfad“ auf Auswählen, und navigiere zum Verzeichnis.

    Screenshot des Fensters „Repository klonen“. Eine Schaltfläche mit der Beschriftung „Auswählen“ ist orange umrandet.

  5. Klicke unten im Fenster „Repository klonen“ auf Klonen.

  6. Lies die Informationen unter „Wie planst du die Verwendung dieses Forks?“ .

    • Wenn du diesen Fork verwenden möchtest, um am ursprünglichen Upstreamrepository mitzuwirken, klicke auf Beitrag für das übergeordnete Projekt.
    • Wenn du diesen Fork für ein Projekt verwenden möchtest, das nicht mit dem Upstreamrepository zusammenhängt, klicke auf Für meine eigenen Zwecke.
  7. Klicke auf Weiter.

Klonen deines geforkten Repositorys

Momentan verfügst du über einen Fork des Repositorys „Spoon-Knife“, aber die Dateien dieses Repositorys befinden sich nicht auf dem lokalen Computer.

  1. Auf GitHub, navigieren Sie zu Ihrem Fork des Spoon-Knife Repository.

  2. Klicke oberhalb der Liste der Dateien auf Code.

    Screenshot: Liste der Dateien auf der Startseite eines Repositorys. Die Schaltfläche „Code“ ist orange umrandet.

  3. Kopiere die URL für das Repository.

    • Um ein Repository über HTTPS zu klonen, klicke unter „HTTPS“ auf .

    • Wenn du das Repository mithilfe eines SSH-Schlüssels klonen möchtest, einschließlich eines Zertifikats, das von der SSH-Zertifizierungsstelle deiner Organisation ausgestellt wurde, wähle SSH und dann aus.

    • Um ein Repository über die GitHub CLI zu klonen, klicke auf GitHub CLI und dann auf .

      Screenshot des Dropdownmenüs „Code“ Rechts neben der HTTPS-URL für das Repository ist ein Kopiersymbol dunkelorange umrandet.

  4. Öffne TerminalTerminalGit Bash.

  5. Ändere das aktuelle Arbeitsverzeichnis zum Speicherort, in dem Du das geklonte Verzeichnis haben willst.

  6. Gib git clone ein, und füge dann die zuvor kopierte URL ein. Sie sieht wie folgt aus (anstelle von YOUR-USERNAME wird dein GitHub-Benutzername verwendet):

    git clone https://github.com/YOUR-USERNAME/Spoon-Knife
    
  7. Drücke die EINGABETASTE. Dein lokaler Klon wird erstellt.

    $ git clone https://github.com/YOUR-USERNAME/Spoon-Knife
    > Cloning into `Spoon-Knife`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remote: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.
    

Note

Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.

Verwende das Flag --clone, um einen Klon deines Forks zu erstellen.

gh repo fork REPOSITORY --clone=true
  1. Klicke im Menü File auf Repository klonen.

    Screenshot der Menüleiste auf einem Mac. Das Dropdownmenü „Datei“ wird erweitert, und die Option „Repository klonen“ ist orange umrandet.

    Screenshot der Menüleiste „GitHub Desktop“ unter Windows. Das Dropdownmenü „Datei“ wird erweitert, und die Option „Repository klonen“ ist orange umrandet.

  2. Klicke auf die Registerkarte, die dem Speicherort des zu klonenden Repositorys entspricht. Du kannst auch auf URL klicken, um den Repository-Speicherort manuell einzugeben.

    Screenshot des Fensters „Repository klonen“. Oben im Fenster werden Registerkarten mit der Bezeichnung „GitHub.com“, „GitHub Enterprise“ und „URL“ durch einen orangefarbenen Rahmen hervorgehoben.

  3. Klicke in der Liste der Repositorys auf das Repository, das du klonen möchtest.

    Screenshot des Fensters „Repository klonen“. Das Repository „github/docs“ ist orange umrandet.

  4. Um das lokale Verzeichnis auszuwählen, in das du das Repository klonen möchtest, klicke neben dem Feld „Lokaler Pfad“ auf Auswählen, und navigiere zum Verzeichnis.

    Screenshot des Fensters „Repository klonen“. Eine Schaltfläche mit der Beschriftung „Auswählen“ ist orange umrandet.

  5. Klicke unten im Fenster „Repository klonen“ auf Klonen.

Konfigurieren von Git zum Synchronisieren deines Forks mit dem Upstream-Repository

Wenn du ein Projekt forkst, um Änderungen für das Upstream-Repository vorzuschlagen, kannst du Git so konfigurieren, dass Änderungen am Upstream-Repository in den lokalen Klon deines Forks abgerufen werden.

  1. Unter GitHub, navigieren Sie zum octocat/Spoon-Knife Repository.

  2. Klicke oberhalb der Liste der Dateien auf Code.

    Screenshot: Liste der Dateien auf der Startseite eines Repositorys. Die Schaltfläche „Code“ ist orange umrandet.

  3. Kopiere die URL für das Repository.

    • Um ein Repository über HTTPS zu klonen, klicke unter „HTTPS“ auf .

    • Wenn du das Repository mithilfe eines SSH-Schlüssels klonen möchtest, einschließlich eines Zertifikats, das von der SSH-Zertifizierungsstelle deiner Organisation ausgestellt wurde, wähle SSH und dann aus.

    • Um ein Repository über die GitHub CLI zu klonen, klicke auf GitHub CLI und dann auf .

      Screenshot des Dropdownmenüs „Code“ Rechts neben der HTTPS-URL für das Repository ist ein Kopiersymbol dunkelorange umrandet.

  4. Öffne TerminalTerminalGit Bash.

  5. Wechsle das Verzeichnis, und navigiere zu dem Speicherort des geklonten Forks.

    • Um in dein Startverzeichnis zu wechseln, gib nur cd ohne zusätzlichen Text ein.
    • Um die Dateien und Ordner im aktuellen Verzeichnis aufzulisten, gib ls ein.
    • Um zu einem deiner aufgelisteten Verzeichnisse zu wechseln, gib cd YOUR-LISTED-DIRECTORY ein.
    • Um ein Verzeichnis nach oben zu wechseln, gib cd .. ein.
  6. Gib git remote -v ein, und drücke die EINGABETASTE. Daraufhin siehst du das derzeit konfigurierte Remoterepository für deinen Fork.

    $ git remote -v
    > origin  https://github.com/YOUR-USERNAME/YOUR-FORK.git (fetch)
    > origin  https://github.com/YOUR-USERNAME/YOUR-FORK.git (push)
    
  7. Gib git remote add upstream ein, füge dann die in Schritt 3 kopierte URL ein, und drücke die EINGABETASTE. Er sieht wie folgt aus:

    git remote add upstream https://github.com/ORIGINAL-OWNER/Spoon-Knife.git
    
  8. Um das neue Upstreamrepository zu überprüfen, das du für deinen Fork angegeben hast, gib erneut git remote -v ein. Die URL für deinen Fork sollte als origin und die URL für das Upstream-Repository als upstream angezeigt werden.

    $ git remote -v
    > origin    https://github.com/YOUR-USERNAME/YOUR-FORK.git (fetch)
    > origin    https://github.com/YOUR-USERNAME/YOUR-FORK.git (push)
    > upstream  https://github.com/ORIGINAL-OWNER/ORIGINAL-REPOSITORY.git (fetch)
    > upstream  https://github.com/ORIGINAL-OWNER/ORIGINAL-REPOSITORY.git (push)
    

Nun kannst du deinen Fork mit wenigen Git-Befehlen regelmäßig mit dem vorgelagerten Repository synchronisieren. Weitere Informationen findest du unter Einen Fork synchronisieren.

Note

Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.

Um ein Remoterepository für das geforkte Repository zu konfigurieren, verwende das --remote-Flag.

gh repo fork REPOSITORY --remote=true

Um den Namen des Remoterepositorys anzugeben, verwende das --remote-name-Flag.

gh repo fork REPOSITORY --remote-name "main-remote-repo"

Bearbeiten eines Forks

Du kannst nun jede Änderung am Fork vornehmen, einschließlich:

  • Erstellen von Branches: Branches ermöglichen es dir, neue Features zu erstellen oder Ideen auszuprobieren, ohne dein Hauptprojekt zu gefährden.
  • Öffnen von Pull Requests: Wenn du einen Beitrag zum Upstream-Repository leisten möchtest, kannst du dem ursprünglichen Autor eine Anforderung zum Pullen deines Forks in sein Repository senden, indem du einen Pull Request übermittelst.

Ein anderes Repository zum Forken finden

Forke ein Repository, um an einem Projekt mitzuarbeiten. Du kannst jedes öffentliche Repository zu deinem persönlichen Konto oder einer Organisation forken, in der du über die Berechtigung zum Erstellen von Repositorys verfügst. Wenn du Zugriff auf ein privates Repository hast und der Besitzer das Forken erlaubt, kannst du das Repository zu deinem persönlichen Konto oder einer beliebigen Organisation auf GitHub Team forken, sofern du die Berechtigungen zur Erstellung von Repositorys hast. Du kannst ein privates Repository nicht mit GitHub Free zu einer Organisation forken. Weitere Informationen zu GitHub Team und GitHub Free findest du unter GitHub-Pläne. Weitere Informationen dazu, wann du ein Repository forken kannst, findest du unter Informationen zu Berechtigungen und Sichtbarkeit von Forks.

Du kannst Explore GitHub durchsuchen, um Projekte zu finden und an Open-Source-Repositorys mitzuwirken. Weitere Informationen findest du unter Möglichkeiten finden, um zu Open-Source auf GitHub beizutragen.

Nächste Schritte

Du hast jetzt ein Repository geforkt, das Klonen deines Forks geübt und ein vorgelagertes Repository konfiguriert.

  • Weitere Informationen zum Klonen des Forks und zum Synchronisieren der Änderungen in einem geforkten Repository auf deinem Computer findest du unter Einrichten von Git.

  • Du kannst auch auf GitHub ein neues Repository erstellen, in dem du all deine Projekte ablegen und deinen Code freigeben kannst. Durch das Erstellen eines Repositorys für dein Projekt kannst du Code auf GitHub speichern. Auf diese Weise wird die Arbeit abgesichert, die du mit anderen Entwickler*innen teilen kannst. Weitere Informationen findest du unter Schnellstart für Repositorys.

  • Jedes Repository auf GitHub gehört einer Person oder einer Organisation. Du kannst mit den Personen, Repositorys und Organisationen interagieren, indem du eine Verbindung herstellst und sie auf GitHub verfolgst. Weitere Informationen findest du unter Inspiration auf GitHub finden.

  • GitHub verfügt über eine großartige Supportcommunity, in der du um Hilfe bitten und mit Menschen aus der ganzen Welt sprechen kannst. Nimm an der Unterhaltung auf GitHub Community teil.