From 6708fbd7350a124ba62be84b42a8b77c99215d09 Mon Sep 17 00:00:00 2001 From: David Hess <3002833@stud.hs-mannheim.de> Date: Wed, 9 Apr 2025 00:22:43 +0200 Subject: [PATCH] Aufgaben/04_Branches.md aktualisiert --- Aufgaben/04_Branches.md | 177 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 176 insertions(+), 1 deletion(-) diff --git a/Aufgaben/04_Branches.md b/Aufgaben/04_Branches.md index 4f2e970..7a6497e 100644 --- a/Aufgaben/04_Branches.md +++ b/Aufgaben/04_Branches.md @@ -1 +1,176 @@ -PLACEHOLDER +# 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! +