Aufgaben/04_Branches.md aktualisiert
parent
c388c020c4
commit
6708fbd735
|
@ -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 <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!
|
||||
|
||||
|
|
Loading…
Reference in New Issue