Zum Inhalt springen
Git & GitHub Anfänger 25 min

Fork & Open Source beitragen

Lerne, wie du mit Forks an Open-Source-Projekten mitwirken und deinen ersten Beitrag leisten kannst.

Aktualisiert:

Open Source ist das Herzgtueck der Softwareentwicklung. Millionen von Projekten auf GitHub sind frei zugaenglich - und jeder kann dazu beitragen! In diesem Kapitel lernst du, wie du mit Forks und Pull Requests an fremden Projekten mitwirken kannst.

Was ist ein Fork?

Ein Fork ist eine persoenliche Kopie eines fremden Repositories auf GitHub. Du erstellst einen Fork, weil du auf das Original-Repository keinen Schreibzugriff hast.

Original-Repository (upstream)          Dein Fork (origin)
github.com/open-source-projekt    →     github.com/DEIN-NAME/open-source-projekt
        ↑                                         |
        |                                          |
        └──── Pull Request ────────────────────────┘

Fork vs. Clone vs. Branch

KonzeptWas es istWann verwenden
ForkKopie auf GitHub (anderes Konto)Fremde Projekte
CloneKopie auf deinem ComputerImmer, zum Arbeiten
BranchEntwicklungszweig im gleichen RepoEigene Projekte / Teamarbeit

Einen Fork erstellen

Schritt 1: Fork auf GitHub

  1. Gehe zum Repository, an dem du mitwirken moechtest
  2. Klicke oben rechts auf Fork
  3. Waehle dein Konto als Ziel
  4. Klicke auf Create fork

Du hast jetzt eine Kopie unter github.com/DEIN-NAME/projekt.

Schritt 2: Fork klonen

# Deinen Fork klonen
git clone https://github.com/DEIN-NAME/open-source-projekt.git
cd open-source-projekt

Schritt 3: Upstream-Remote hinzufuegen

Verbinde dein lokales Repository mit dem Original-Projekt:

# Das Original als "upstream" hinzufuegen
git remote add upstream https://github.com/original-autor/open-source-projekt.git

# Remotes pruefen
git remote -v
origin    https://github.com/DEIN-NAME/open-source-projekt.git (fetch)
origin    https://github.com/DEIN-NAME/open-source-projekt.git (push)
upstream  https://github.com/original-autor/open-source-projekt.git (fetch)
upstream  https://github.com/original-autor/open-source-projekt.git (push)

Jetzt hast du zwei Remotes:

  • origin: Dein Fork (Schreibzugriff)
  • upstream: Das Original (nur Lesen)

Der Fork-Workflow

1. Fork aktuell halten

Bevor du an einer Aenderung arbeitest, stelle sicher, dass dein Fork aktuell ist:

# Neueste Aenderungen vom Original holen
git fetch upstream

# Deinen main-Branch aktualisieren
git switch main
git merge upstream/main

# Aenderungen zu deinem Fork pushen
git push origin main

2. Feature-Branch erstellen

git switch -c fix/tippfehler-readme

3. Aenderungen machen und committen

# Aenderungen machen
# ... z.B. Tippfehler in README.md korrigieren ...

git add README.md
git commit -m "fix: Tippfehler in der Installationsanleitung korrigiert"

4. Branch zu deinem Fork pushen

git push -u origin fix/tippfehler-readme

5. Pull Request zum Original erstellen

  1. Gehe zu deinem Fork auf GitHub
  2. Du siehst einen Banner: “fix/tippfehler-readme had recent pushes”
  3. Klicke auf Compare & pull request
  4. Stelle sicher, dass der PR zum Original-Repository geht:
    • Base repository: original-autor/open-source-projekt
    • Base: main
    • Head repository: DEIN-NAME/open-source-projekt
    • Compare: fix/tippfehler-readme

6. PR-Beschreibung schreiben

## Beschreibung

Korrigiert einen Tippfehler in der Installationsanleitung
(Schritt 3: "installl" → "install").

## Art der Aenderung

- [x] Dokumentation / Tippfehler

## Verwandtes Issue

Fixes #42

Gute erste Beitraege finden

Labels auf GitHub

Viele Projekte markieren einsteigerfreundliche Issues:

LabelBedeutung
good first issuePerfekt fuer Anfaenger
help wantedHilfe erwauescht
beginner friendlyEinsteigerfreundlich
documentationDokumentation verbessern
hacktoberfestFuer das Hacktoberfest-Event

So findest du Projekte

  1. GitHub Explore: github.com/explore
  2. Good First Issues: goodfirstissues.com
  3. Up for Grabs: up-for-grabs.net
  4. GitHub Suche: label:"good first issue" language:javascript

Arten von Beitraegen

Du musst kein Experte sein! Hier sind einfache Wege, beizutragen:

  • Tippfehler korrigieren
  • Dokumentation verbessern
  • Uebersetzungen hinzufuegen
  • Beispiele ergaenzen
  • Tests schreiben
  • Bugs melden (Issues)
  • Design verbessern

CONTRIBUTING.md lesen

Vor deinem ersten Beitrag: Lies immer die Beitragsrichtlinien!

# Typische Dateien, die du lesen solltest
cat CONTRIBUTING.md
cat CODE_OF_CONDUCT.md

Diese Dateien erklaeren:

  • Wie du Beitraege einreichen sollst
  • Welche Code-Konventionen gelten
  • Wie das Review-Verfahren ablaeuft
  • Wie du die Entwicklungsumgebung einrichtest

Kommunikation in Open Source

Einen Issue kommentieren

Bevor du an einem Issue arbeitest:

Hallo! Ich wuerde gerne an diesem Issue arbeiten.
Ist es noch offen? Gibt es bestimmte Dinge, die ich beachten sollte?

Bei Unklarheiten fragen

Ich bin mir nicht sicher, ob die Loesung so gemeint ist.
Koennte jemand mir einen Hinweis geben, in welche Richtung
ich schauen sollte?

Geduld haben

Open-Source-Maintainer arbeiten oft ehrenamtlich. Es kann dauern, bis dein PR reviewt wird. Sei geduldig und hoeflich!

Fork synchron halten

Dein Fork kann mit der Zeit hinter dem Original zurueckfallen:

# Regelmaessig aktualisieren
git fetch upstream
git switch main
git merge upstream/main
git push origin main

Wenn dein Feature-Branch veraltet ist

git switch feature/mein-beitrag
git merge main
# Eventuelle Konflikte loesen
git push

Ein vollstaendiges Beispiel

Du moechtest einen Tippfehler in einem Open-Source-Projekt beheben:

# 1. Fork auf GitHub erstellen (Webinterface)

# 2. Fork klonen
git clone https://github.com/DEIN-NAME/awesome-project.git
cd awesome-project

# 3. Upstream hinzufuegen
git remote add upstream https://github.com/original/awesome-project.git

# 4. Aktualisieren
git fetch upstream
git merge upstream/main

# 5. Feature-Branch
git switch -c fix/readme-tippfehler

# 6. Aenderung machen
# ... Tippfehler korrigieren ...

# 7. Committen
git add README.md
git commit -m "fix: Tippfehler in README korrigiert"

# 8. Pushen
git push -u origin fix/readme-tippfehler

# 9. Pull Request auf GitHub erstellen (Webinterface)

Uebungen

  1. Finde ein Open-Source-Projekt mit dem Label “good first issue”
  2. Forke das Projekt und klone es
  3. Richte das Upstream-Remote ein
  4. Erstelle einen Feature-Branch und mache eine kleine Aenderung
  5. Pushe und erstelle einen Pull Request

Was kommt als Naechstes?

Im naechsten Kapitel lernst du Git Rebase kennen - eine Alternative zu Merge, die eine sauberere Historie erzeugt. Du verstehst, wann Rebase sinnvoll ist und wann du beim Merge bleiben solltest.

Zusammenfassung

  • Ein Fork ist eine persoenliche Kopie eines fremden Repositories
  • Du brauchst zwei Remotes: origin (dein Fork) und upstream (das Original)
  • Der Workflow: Fork → Clone → Branch → Commit → Push → Pull Request
  • Lies immer die CONTRIBUTING.md vor deinem ersten Beitrag
  • Es gibt viele einfache Beitraege: Tippfehler, Docs, Uebersetzungen
  • Halte deinen Fork regelmaessig synchron mit dem Original
  • Sei geduldig und hoeflich in der Open-Source-Community

Pro-Tipp: Dein erster Open-Source-Beitrag muss nichts Grosses sein! Einen Tippfehler in der Dokumentation zu korrigieren ist ein voellig legitimer und willkommener Beitrag. Der wichtigste Schritt ist der erste - danach wird es immer einfacher.

Zurück zum Git & GitHub Kurs