Ausschnitt der Lektion

Teamarbeit: Forks, Feature-Branches und Pull-Requests

Dieser Abschnitt beschreibt, wie 90% der Open-Source- und Unternehmensprojekte funktionieren. Wir durchlaufen den kompletten Zyklus: Fork → Feature-Branch → Commits → Pull-Request → Code-Review → Merge. Besonderes Augenmerk legen wir darauf, wie man PR-Beschreibungen formuliert, damit Reviewer sofort den Kontext verstehen, und welche typischen Fehler in PRs Anfänger oft machen.

Fork Pull-Request Code-Review
Was Sie in dieser Lektion lernen werden
  • Sie können zu jedem Open-Source-Projekt nach dem Standardzyklus Fork → PR beitragen.
  • Sie lernen, wie Sie Pull-Requests so gestalten, dass Reviewer die Aufgabe ohne Nachfragen verstehen.
  • Sie verstehen, wie Sie angemessen auf Feedback im Code-Review reagieren – sowohl technisch als auch kommunikativ.

Anfang der Lektion

Fork - Ihr persönlicher Sandkasten

  • Fork - Ihre persönliche Kopie eines Repositorys auf GitHub
  • Volle Kontrolle ohne Risiko für das Original
  • Bleibt mit dem Ursprungsprojekt verbunden
  • Ideal für Experimente und Open-Source-Beiträge

Stellen Sie sich vor, Sie finden ein interessantes Buch in der Bibliothek, können aber keine Notizen darin machen. Ein Fork löst dieses Problem, indem er eine persönliche Kopie des Repositorys auf GitHub erstellt. Jetzt können Sie mit dem Code experimentieren, ohne das ursprüngliche Projekt zu gefährden. Dies ist besonders nützlich, wenn Sie Ideen testen oder zu einem fremden Projekt beitragen möchten. Ihr Fork bleibt mit dem Ursprungs-Repository verbunden, was das Verfolgen von Updates und das Senden von Änderungen an den Autor erleichtert.

So erstellen Sie einen Fork auf GitHub

  • Klicken Sie auf die Schaltfläche 'Fork' in der oberen rechten Ecke
  • Wählen Sie Ihr Konto als Ziel aus
  • Warten Sie, bis die Kopie erstellt ist
  • Klonen Sie Ihren Fork auf Ihren lokalen Rechner

Öffnen Sie das gewünschte Repository auf GitHub und suchen Sie die Schaltfläche 'Fork' in der oberen rechten Ecke. Nach dem Klicken wählen Sie Ihr Konto als Ziel aus. Innerhalb weniger Sekunden erstellt GitHub eine exakte Kopie des Repositorys in Ihrem Profil. Jetzt können Sie es mit dem Befehl 'git clone' auf Ihren Computer klonen und mit der Arbeit beginnen. Stellen Sie sicher, dass Sie Ihren Fork und nicht das ursprüngliche Repository klonen.

# Klonen Sie Ihren Fork auf den Computer
git clone https://github.com/Ihr-Benutzername/Repository.git

# Wechseln Sie in das Projektverzeichnis
cd Repository

# Überprüfen Sie die Remote-Repositorys
git remote -v

Fork vs. Klonierung: Was ist der Unterschied?

  • Klonierung: Lokale Kopie auf Ihrem Computer
  • Fork: Entfernte Kopie in Ihrem GitHub-Konto
  • Fork behält die Verbindung zum ursprünglichen Repository
  • Praktisch für die Synchronisierung von Änderungen

Obwohl beide Prozesse eine Kopie eines Repositorys erstellen, gibt es einen grundlegenden Unterschied. Die Klonierung lädt den Code auf Ihren Computer herunter, während ein Fork eine entfernte Kopie in Ihrem GitHub-Konto erstellt. Der Fork behält die Verbindung zum ursprünglichen Projekt, was die Synchronisierung von Änderungen erleichtert. Dies ist ein entscheidender Punkt bei der Mitarbeit an Open-Source-Projekten: Sie arbeiten in Ihrem eigenen Fork und schlagen dann Änderungen über einen Pull Request vor. Nachdem Sie nun Ihre eigene Kopie des Projekts erstellt haben, ist es an der Zeit, sie auf Ihren lokalen Computer zu übertragen und zu lernen, wie man damit arbeitet.

Die vollständige Lektion — mit Abo

Noch 30 Folien in der vollständigen Version.

Video, alle Folien, Notizen, Tests, KI-Tutor und Interview werden nach Anmeldung und Abschluss eines Abos freigeschaltet.

Anmelden oder registrieren Abo abschließen

Inhalt der Lektion

  1. Fork - Ihr persönlicher Sandkasten
  2. So erstellen Sie einen Fork auf GitHub
  3. Fork vs. Klonierung: Was ist der Unterschied?
  4. Fork auf den Computer klonen
  5. Upstream für Synchronisation hinzufügen
  6. Überprüfung von Remote-Repositories
  7. Warum sind separate Branches notwendig?
  8. Einen Feature-Branch erstellen
  9. Wie man Branches richtig benennt
  10. Warum atomare Commits wichtig sind
  11. Die perfekte Commit-Nachricht schreiben
  12. Typische Fehler in Commits
  13. Warum man einen Fork veröffentlichen sollte
  14. Der git push Befehl zum Veröffentlichen eines Branches
  15. Überprüfung des veröffentlichten Branches
  16. Pull Request als Änderungsantrag
  17. PR-Titel: kurz und prägnant
  18. PR-Beschreibung: Was, warum und wie überprüfen
  19. Typische Fehler in PRs
  20. PR-Monster: Warum große Pull Requests das Review behindern
  21. PR-Beschreibung: Ihre Chance zu erklären, nicht zu entschuldigen
  22. Ein PR - eine Aufgabe, oder wie man nicht zusammenhangslose Änderungen vermischt
  23. Code Review als Dialog mit dem Redakteur
  24. Auf jeden Kommentar antworten
  25. Änderungen in separaten Commits festhalten
  26. Warum entstehen Merge-Konflikte?
  27. Branch vor dem Merge aktualisieren
  28. Konflikte finden und beheben
  29. Konfliktlösung abschließen
  30. Aufräumen nach erfolgreichem Merge
  31. Feature-Branch auf GitHub löschen
  32. Lokales Repository aktualisieren
  33. Meister der Teamarbeit: Vom Fork bis zum Merge

Artikel zum Thema der Lektion

Alle Lektionen des Kurses

  1. Einführung: Git vom Anfänger zum sicheren Entwickler
  2. Wofür braucht man eigentlich Git – und warum bekommt man ohne es keinen Job?
  3. Installation und Einrichtung: Git für den ersten Start vorbereiten
  4. Erstes Repository: init, add, commit und die Magie des Index
  5. Versionsgeschichte verstehen: Log, Diff, Show und Navigation durch die Vergangenheit
  6. Branches: Die parallele Realität Ihres Codes
  7. Fehler rückgängig machen: restore, reset, revert – richtig und gefährlich
  8. GitHub und Remote-Repositories: Ihr Code in der Cloud
  9. Teamarbeit: Forks, Feature-Branches und Pull-Requests
  10. Merge-Konflikte: Keine Panik – Verstehen und Lösen
  11. Git-Prozesse in realen Teams: Welchen Workflow soll man wählen?
  12. Fortgeschrittene Tools: Rebase, Stash, Cherry-Pick und Tags
  13. Abschlussprojekt: Simulation einer echten Team-Entwicklung