Dienstag, 2026-02-24_Git_UDEMY¶
1) Grundidee: Master- und Feature-Branch¶
Der Master-Branch (heute oft main) ist der Hauptzweig eines Projekts.
Er enthält: - den stabilen Stand - meist den deploybaren Code - die zentrale Projekt-Historie
Ein Feature-Branch wird erstellt, um: - neue Funktionen zu entwickeln - isoliert zu arbeiten - Experimente durchzuführen - Fehler zu beheben
Er basiert immer auf einem existierenden Branch (meist master oder main).
2) Typischer Workflow¶
Ausgangssituation¶
master
A---B---C
Feature-Branch erstellen:
git checkout -b feature
Ergebnis:
master A---B---C
\
feature C
Der Feature-Branch enthält alle bisherigen Commits.
3) Parallele Entwicklung¶
Nun entwickeln sich beide Branches weiter:
master A---B---C---D---E
\
feature F---G
Jetzt gibt es zwei Möglichkeiten:
- Feature braucht aktuelle Änderungen aus master
- Feature ist fertig und soll in master integriert werden
4) Branches kombinieren – Zwei Methoden¶
Methode 1: Merge¶
git checkout master
git merge feature
Ergebnis:
A---B---C---D---E
\ \
F---G---M
- Es entsteht ein Merge-Commit (M)
- Historie bleibt vollständig erhalten
- Keine Umschreibung der Vergangenheit
Vorteil: - Sicher - Transparent - Ideal für Teamarbeit
Methode 2: Rebase¶
git checkout feature
git rebase master
Ergebnis:
A---B---C---D---E---F'---G'
- Feature-Commits werden "neu abgespielt"
- Keine Merge-Commits
- Lineare Historie
Vorteil: - Saubere Commit-Historie - Kein Merge-Commit
Nachteil: - Umschreibt History - Vorsicht bei geteilten Branches
5) Wann benutzt man was?¶
Merge verwenden wenn:¶
- Teamarbeit
- Branch bereits geteilt
- Historie sichtbar bleiben soll
- Sicherheit wichtiger als saubere Linie
Rebase verwenden wenn:¶
- Lokale Feature-Branches
- Noch nicht gepusht
- Saubere lineare Historie gewünscht
6) Wichtiges Prinzip¶
Ein Feature-Branch ist:
Kein paralleles Universum
Sondern ein Zeiger auf einen Commit
Branches sind nur Referenzen auf Commit-Ketten.
7) Häufige Szenarien¶
Feature mit aktuellem Master synchronisieren¶
Option A (Merge):
git checkout feature
git merge master
Option B (Rebase):
git checkout feature
git rebase master
Feature in Master integrieren¶
git checkout master
git merge feature
Danach optional:
git branch -d feature
8) Prüfungsrelevante Fragen¶
- Unterschied Merge vs Rebase?
- Was ist ein Merge-Commit?
- Wann darf man Rebase nicht verwenden?
- Was passiert mit der Commit-Historie bei Rebase?
- Warum ist Merge in Teams oft sicherer?
9) Merksatz¶
Merge:
Geschichte bleibt unverändert.
Rebase:
Geschichte wird neu geschrieben.