Files

🌿 Modul 03 Branches

Branches sind das Herzstück von Git. Sie ermöglichen es dir, an neuen Features zu arbeiten, ohne den stabilen Hauptcode zu verändern.


Was ist ein Branch?

Ein Branch ist ein beweglicher Zeiger auf einen Commit. Wenn du auf einem Branch einen neuen Commit machst, rückt der Zeiger automatisch vorwärts.

Das klingt abstrakt stell dir vor:

  • main ist dein veröffentlichter Stand (funktioniert immer)
  • Du erstellst einen Branch feature/begruessung für neue Arbeit
  • Dort probierst du aus, änderst, brichst ab main bleibt unberührt
  • Wenn du fertig bist, mergst du den Feature-Branch zurück in main

Branch-Workflow visualisiert

gitGraph
    commit id: "Projekt start"
    commit id: "README fertig"
    branch feature/begruessung
    checkout feature/begruessung
    commit id: "hallo.txt angelegt"
    commit id: "Begrüßung verbessert"
    checkout main
    merge feature/begruessung id: "Feature gemergt"

Auf main hat sich nichts verändert, solange du auf feature/begruessung gearbeitet hast. Erst beim Merge kommen die Änderungen zusammen.


Befehle im Überblick

Branch anlegen und wechseln

git branch feature/begruessung
git switch feature/begruessung

Oder in einem Schritt:

git switch -c feature/begruessung

Aktuellen Branch anzeigen

git branch
* feature/begruessung
  main

Das Sternchen * zeigt, auf welchem Branch du gerade bist.

Alle Branches anzeigen (auch remote)

git branch -a

Zurück zu main wechseln

git switch main

Branch mergen

git switch main
git merge feature/begruessung
Updating a3f9c12..d4e5f67
Fast-forward
 hallo.txt | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 hallo.txt

Branch löschen (nach dem Merge)

git branch -d feature/begruessung

Unterschied sehen

Bevor du mergst, kannst du sehen, was sich auf dem Feature-Branch geändert hat:

git diff main..feature/begruessung

Oder alle Branches in der Übersicht:

git log --all --oneline --graph
* d4e5f67 (feature/begruessung) Begrüßung verbessert
* c3d4e56 hallo.txt angelegt
* b7e2f45 (HEAD -> main) README fertig
* a3f9c12 Projekt start

📝 Jetzt bist du dran!

Weiter zur Aufgabe.


Weiter geht's mit: 04 Merge & Konflikte