177 lines
3.0 KiB
Markdown
177 lines
3.0 KiB
Markdown
# 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 <branch-name>
|
||
```
|
||
|
||
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 <branch-name>
|
||
```
|
||
|
||
Oder mit älterer Git-Version:
|
||
|
||
```bash
|
||
git checkout <branch-name>
|
||
```
|
||
|
||
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 <branch-name>
|
||
```
|
||
|
||
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 <branch-name>
|
||
```
|
||
|
||
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 <branch-name>
|
||
```
|
||
|
||
Beispiel:
|
||
|
||
```bash
|
||
git push origin --delete feature-ui
|
||
```
|
||
|
||
---
|
||
|
||
## TL;DR: Wichtigste Befehle
|
||
|
||
```bash
|
||
git branch # zeigt alle Branches
|
||
git branch <name> # neuen Branch erstellen
|
||
git switch <name> # zu Branch wechseln
|
||
git merge <name> # Branch mergen
|
||
git branch -d <name> # Branch löschen
|
||
git push -u origin <name> # 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!
|
||
|