Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Forken eines Repositorys

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

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 Arbeiten mit Forks.

Ä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.com findest du im GitHub-Whitepaper Eine Einführung in Inner Source.

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. Navigiere auf GitHub.com zum Repository octocat/Spoon-Knife.
  2. Klicke in der oberen rechten Ecke der Seite auf Forken. Schaltfläche „Forken“
  3. Wähle einen Besitzerin für das geforkte Repository aus. Erstellen einer neuen Forkseite mit hervorgehobener Besitzer-Dropdownliste
  4. Standardmäßig erhalten Forks den gleichen Namen wie die zugehörigen Upstream-Repositorys. Zur weiteren Unterscheidung kannst du den Namen des Forks ändern. Erstellen einer neuen Forkseite mit hervorgehobenem Repositorynamensfeld
  5. Füge wahlweise eine Beschreibung deines Forks hinzu. Erstellen einer neuen Forkseite mit hervorgehobenem Beschreibungsfeld
  6. Wähle aus, ob nur der Standardbranch oder alle Branches in den neuen Fork kopiert werden sollen. Bei vielen Forkszenarien, z. B. Beiträge zu Open-Source-Projekten, musst du nur den Standardbranch kopieren. Standardmäßig wird nur der Standardbranch kopiert. Option zum ausschließlichen Kopieren des Standardbranchs
  7. Klicke auf Fork erstellen. Hervorgehobene Schaltfläche „Fork erstellen“

Hinweis: Wenn du weitere Branches aus dem Upstream-Repository kopieren möchtest, ist dies über die Seite Branches möglich. Weitere Informationen findest du unter Erstellen und Löschen von Branches innerhalb deines Repositorys.

Weitere Informationen zu GitHub CLI findest du unter Informationen zu 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"

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. Navigiere auf GitHub.com zu deinem Fork des Spoon-Knife-Repositorys.

  2. Klicke oberhalb der Liste der Dateien auf Code. Schaltfläche „Code“

  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, klicke auf SSH und dann auf .
    • Um ein Repository über die GitHub CLI zu klonen, klicke auf GitHub CLI und dann auf . Das Zwischenablagesymbol zum Kopieren der URL zum Klonen eines Repositorys mit der GitHub-CLI 1. Öffne TerminalTerminalGit Bash. 4. Ändere das aktuelle Arbeitsverzeichnis zum Speicherort, in dem Du das geklonte Verzeichnis haben willst.
  4. 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
  5. Drücken Sie 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.

Weitere Informationen zu GitHub CLI findest du unter Informationen zu 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.

    Menüoption zum Klonen in der Mac-App

    Menüoption zum Klonen in der Windows-App

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

    Standort-Registerkarten im Menü „Clone a repository“ (Repository klonen)

    Standort-Registerkarten im Menü „Clone a repository“ (Repository klonen)

    1. Wähle in der Liste das zu klonende Repository aus.

    Repository-Liste klonen

    Repository-Liste klonen

    1. Klicke auf **Auswählen**, und navigiere zu einem lokalen Pfad, in den du das Repository klonen möchtest.

    Die Schaltfläche „choose“ (Auswählen)

    Die Schaltfläche „choose“ (Auswählen)

    1. Klicken Sie auf **Klonen**.

    Die Schaltfläche „clone“ (Klonen)

    Die Schaltfläche „clone“ (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. Navigiere auf GitHub.com zum Repository octocat/Spoon-Knife.

  2. Klicke oberhalb der Liste der Dateien auf Code. Schaltfläche „Code“

  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, klicke auf SSH und dann auf .
    • Um ein Repository über die GitHub CLI zu klonen, klicke auf GitHub CLI und dann auf . Das Zwischenablagesymbol zum Kopieren der URL zum Klonen eines Repositorys mit der GitHub-CLI 1. Öffne TerminalTerminalGit Bash.
  4. 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.
  5. 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)
  6. 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
  7. 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 Synchronisieren eines Forks.

Weitere Informationen zu GitHub CLI findest du unter Informationen zu 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. 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 findest du bei den GitHub-Produkten.

Du kannst Erkunden durchsuchen, um Projekte zu finden und an Open-Source-Repositorys mitzuwirken. Weitere Informationen findest du unter Beitragen zu Open-Source-Projekten auf GitHub.

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 Erstellen eines 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 Soziale Interaktion.

  • 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.