Zum Inhalt springen

Fork

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 30.10.2026

Ein Fork ist eine eigene Kopie eines fremden Repositorys auf dem Server, unter deinem Namen. Du kannst darin alles ändern, ohne Rechte am ursprünglichen Projekt zu haben. Englisch fork heißt Gabelung.

Fork

Eine eigene Kopie eines fremden Repositorys auf dem Server.
Beispiel: „Für den Beitrag entstand erst ein Fork, dann ein Branch darin und am Ende ein Pull Request.“

Abgrenzung zum Clone: Der Clone ist eine Kopie auf deinem Rechner, der Fork eine Kopie auf dem Server. Wer beitragen will, macht erst den Fork und klont dann diesen.

Der Begriff hat eine zweite Bedeutung: Ein Projekt, das sich dauerhaft von seinem Ursprung abspaltet und eigene Wege geht, heißt ebenfalls Fork.

Wozu ein Fork gebraucht wird

Für Beiträge zu Projekten, an denen man keine Schreibrechte hat, also für fast alles im quelloffenen Bereich. Du änderst in deiner Kopie und bittest danach per Pull Request darum, die Änderung zu übernehmen.

Innerhalb eines Teams braucht es das selten. Dort haben alle Schreibrechte, und ein Branch im gemeinsamen Repository reicht.

Wie ein Fork mit dem Ursprung verbunden bleibt

Über ein zweites Remote. Üblich ist, dass origin auf den eigenen Fork zeigt und upstream auf das ursprüngliche Projekt. Geholt wird von upstream, gepusht nach origin.

Ohne diese Verbindung veraltet ein Fork schnell. Nach ein paar Wochen baut jede Änderung darin auf einem Stand auf, den es im Ursprung längst nicht mehr gibt.

Wann aus einem Fork ein eigenes Projekt wird

Wenn die Wege dauerhaft auseinandergehen, meist nach einem Streit über die Richtung oder nach dem Einschlafen des Ursprungs. Bekannte Beispiele sind LibreOffice aus OpenOffice und MariaDB aus MySQL.

Das ist die ältere Bedeutung des Wortes und hat mit der Schaltfläche auf GitHub nur den Namen gemeinsam.

Siehe auch:

Clone (Git)

Das erstmalige Holen eines Repositorys samt seiner gesamten Geschichte.

#Deployment & Versionierung

Remote (Git)

Das Repository auf einem Server, auf das sich ein Team geeinigt hat.

#Deployment & Versionierung

Pull Request

Die Bitte, einen Branch in den gemeinsamen Stand zu übernehmen, samt Ort für die Durchsicht.

#Deployment & Versionierung

Repository

Der Ort, an dem ein Projekt samt seiner gesamten Geschichte liegt.

#Deployment & Versionierung

Git

Das Werkzeug, das jede Änderung an einem Projekt festhält und mehrere Stände nebeneinander erlaubt.

#Deployment & Versionierung

Branch

Ein eigener Strang der Geschichte, auf dem gearbeitet wird, ohne den Hauptstand zu berühren.

#Deployment & Versionierung