Branches und Merging in Git
Branches sind das Herzstück von Git. Lerne, wie du Zweige anlegst, zwischen ihnen wechselst und Änderungen sauber zusammenführst.
Sobald du die Grundlagen von Git beherrschst, ist der nächste große Schritt das Arbeiten mit Branches. Branches erlauben dir, an mehreren Dingen parallel zu arbeiten, ohne dass sich deine Änderungen in die Quere kommen. In diesem Beitrag zeige ich dir, wie Branches funktionieren und wie du sie wieder zusammenführst.
Was ist ein Branch?
Ein Branch (Zweig) ist eine eigenständige Entwicklungslinie in deinem Projekt. Standardmäßig arbeitest du auf einem Branch namens main. Wenn du ein neues Feature entwickeln möchtest, legst du dafür einen eigenen Branch an. So bleibt dein Hauptzweig stabil, während du in Ruhe experimentierst.
Technisch ist ein Branch nur ein leichtgewichtiger Zeiger auf einen Commit. Deshalb sind Branches in Git extrem schnell und günstig zu erstellen.
Branches anlegen und wechseln
Mit wenigen Befehlen erstellst du einen neuen Branch und springst hinein. Der moderne Befehl dafür ist git switch.
# Alle vorhandenen Branches anzeigen
git branch
# Einen neuen Branch erstellen
git branch feature-login
# Auf den neuen Branch wechseln
git switch feature-login
# Branch erstellen und direkt hineinwechseln
git switch -c feature-loginDer letzte Befehl mit -c ist der Klassiker im Alltag: Er erstellt den Branch und wechselt in einem Rutsch hinein. Alle Commits, die du jetzt machst, landen auf diesem Branch.
Auf dem Branch arbeiten
Auf deinem Feature-Branch arbeitest du ganz normal weiter: Dateien ändern, hinzufügen und committen. Dein main-Branch bleibt davon völlig unberührt.
# Eine Datei ändern und committen
git add login.js
git commit -m "Login-Formular hinzugefügt"
# Aktuellen Branch und Status prüfen
git statusWenn du jetzt zurück auf main wechselst, verschwinden deine neuen Dateien scheinbar. Keine Sorge, sie sind nicht weg, sondern liegen sicher auf deinem Feature-Branch.
Branches zusammenführen mit Merge
Ist dein Feature fertig, möchtest du die Änderungen zurück in den Hauptzweig bringen. Das nennt man Merging. Wichtig: Du wechselst zuerst auf den Ziel-Branch und führst dann den anderen Branch hinein.
# Zuerst auf den Zielbranch wechseln
git switch main
# Den Feature-Branch hineinmergen
git merge feature-loginWenn auf main in der Zwischenzeit nichts passiert ist, macht Git einen sogenannten Fast-Forward: Der Zeiger wandert einfach nach vorne. Gab es parallele Änderungen, erstellt Git automatisch einen Merge-Commit, der beide Linien vereint.
Branches aufräumen
Nach einem erfolgreichen Merge brauchst du den Feature-Branch meist nicht mehr. Es lohnt sich, ihn zu löschen, damit deine Branch-Liste übersichtlich bleibt.
# Einen zusammengeführten Branch löschen
git branch -d feature-login
# Einen Branch erzwungen löschen (auch ohne Merge)
git branch -D experiment
# Branches umbenennen
git branch -m alter-name neuer-nameDie Option -d löscht nur, wenn der Branch bereits gemergt wurde. So schützt dich Git davor, versehentlich unfertige Arbeit zu verlieren.
Ein typischer Branch-Workflow
In der Praxis sieht ein Durchlauf oft so aus: Du startest von main, baust ein Feature, testest es und führst es zurück. Hier alles in der richtigen Reihenfolge.
git switch main
git switch -c feature-suche
# ... Code schreiben und committen ...
git switch main
git merge feature-suche
git branch -d feature-sucheDiesen Ablauf wirst du unzählige Male wiederholen. Er sorgt dafür, dass dein Hauptzweig immer in einem funktionierenden Zustand bleibt.
Fazit
Branches geben dir die Freiheit, parallel und ohne Risiko an deinem Code zu arbeiten. Mit git switch -c legst du blitzschnell eine neue Entwicklungslinie an, und mit git merge führst du sie wieder zusammen. Übe das Anlegen, Wechseln und Mergen an einem kleinen Projekt, bis es dir vertraut ist. Im nächsten Schritt geht es darum, was passiert, wenn beim Zusammenführen Konflikte entstehen, und wie du diese souverän löst.