# 4. Arbeiten mit Branches In dieser Aufgabe lernst du, wie man mit sogenannten **Branches** (also "Zweigen") arbeitet. ## 1. Aktuellen Branch anzeigen ```bash git branch ``` Zeigt dir eine Liste aller lokalen Branches an. Der aktive Branch ist mit `*` markiert. --- ## 2. Neuen Branch erstellen ```bash git branch ``` Beispiel: ```bash git branch new-feature ``` Das erstellt den neuen Branch `new-feature`. Du bist aber noch **nicht** automatisch drin. Dafür: --- ## 3. In Branch wechseln ```bash git switch ``` Oder mit älterer Git-Version: ```bash git checkout ``` Beispiel: ```bash git switch new-feature ``` Jetzt bist du in deinem neuen Branch und kannst rumprobieren, ohne dass `main` was davon mitbekommt. --- ## 4. Änderungen im Branch machen Jetzt kannst du wie gewohnt arbeiten. Lass als Beispiel unsere Main.java ändern. Öffne sie in einem Editor deiner wahl, zum Beispiel Vim ```bash git add . git commit -m "feat(ui): Neue Oberfläche angefangen" ``` Alle Commits landen **nur in deinem Branch**. --- ## 5. Zurück zu main Wenn du zurück zu `main` willst: ```bash git switch main ``` Wichtig: Deine Änderungen im Branch bleiben erhalten, solange du sie committet hast. --- ## 6. Branch in main mergen Wenn du fertig bist und dein Branch stabil läuft, kannst du ihn in `main` zurückführen: ```bash git switch main git merge feature-ui ``` Wenn keine Konflikte auftreten: nice, du bist fertig ✅\ Falls doch: siehe nächstes Kapitel ("Merge-Konflikte") 😬 --- ## 7. Lokale Branches löschen Wenn du den Branch nicht mehr brauchst: ```bash git branch -d ``` Beispiel: ```bash git branch -d feature-ui ``` Keine Sorge: Das löscht **nur lokal** – der Code bleibt in `main`, wenn du ihn vorher gemerged hast. --- ## 8. Remote-Branches Wenn du deinen Branch pushen willst (z.B. damit andere dran weiterarbeiten können): ```bash git push -u origin ``` Danach reicht in Zukunft ein einfaches `git push`. Beispiel: ```bash git push -u origin feature-ui ``` --- ## 9. Remote-Branch löschen (Bonus) Falls du einen Branch auch vom Server löschen willst: ```bash git push origin --delete ``` Beispiel: ```bash git push origin --delete feature-ui ``` --- ## TL;DR: Wichtigste Befehle ```bash git branch # zeigt alle Branches git branch # neuen Branch erstellen git switch # zu Branch wechseln git merge # Branch mergen git branch -d # Branch löschen git push -u origin # Branch auf Remote pushen ``` --- **Pro-Tipp:** Arbeite **immer in Branches**, wenn du Features entwickelst. Selbst kleine Änderungen – du kannst sie easy rückgängig machen oder verwerfen, ohne dein Hauptprojekt zu zerschießen. Git / Aufgaben / oder Abbrechen Datei bearbeiten Vorschau Vorschau der Änderungen --- Wenn du willst, kann ich auch direkt ein Übungsblatt dazu schreiben oder ein Cheatsheet für Branch-Workflows machen. Sag Bescheid!