99 lines
2.0 KiB
Markdown
99 lines
2.0 KiB
Markdown
# 4. Arbeiten mit Branches
|
|
|
|
In dieser Aufgabe lernst du, wie du mit **Branches** (also "Zweigen") in Git arbeitest.
|
|
|
|
## 1. Aktuellen Branch anzeigen
|
|
|
|
```bash
|
|
git branch
|
|
```
|
|
|
|
Dieser Befehl zeigt dir eine Liste aller lokalen Branches an. Der aktive Branch ist mit einem `*` markiert.
|
|
|
|
---
|
|
|
|
## 2. Neuen Branch erstellen
|
|
|
|
```bash
|
|
git branch <branch-name>
|
|
```
|
|
|
|
Beispiel:
|
|
|
|
```bash
|
|
git branch new-feature
|
|
```
|
|
|
|
Dieser Befehl erstellt einen neuen Branch namens `new-feature`. Du befindest dich jedoch noch nicht automatisch in diesem Branch. Um dorthin zu wechseln, folge dem nächsten Schritt.
|
|
|
|
---
|
|
|
|
## 3. In einen Branch wechseln
|
|
|
|
```bash
|
|
git switch <branch-name>
|
|
```
|
|
|
|
Falls du eine ältere Git-Version verwendest:
|
|
|
|
```bash
|
|
git checkout <branch-name>
|
|
```
|
|
|
|
Beispiel:
|
|
|
|
```bash
|
|
git switch new-feature
|
|
```
|
|
|
|
Nun bist du im neuen Branch und kannst dort arbeiten, ohne dass der `main`-Branch davon betroffen ist.
|
|
|
|
---
|
|
|
|
## 4. Änderungen im Branch vornehmen
|
|
|
|
Jetzt kannst du wie gewohnt an deinem Feature arbeiten. Nehmen wir als Beispiel an, dass du eine neue Datei namens `NewFeature.java` hinzufügst:
|
|
|
|
```java
|
|
public class NewFeature {
|
|
private String featureName;
|
|
|
|
public String getFeature() {
|
|
return this.featureName;
|
|
}
|
|
}
|
|
```
|
|
|
|
Vergiss nicht, deine Änderungen zu stagen und zu committen:
|
|
|
|
```bash
|
|
git add .
|
|
git commit -m "feat: Add new feature"
|
|
```
|
|
|
|
---
|
|
|
|
## 5. Zurück zum `main`-Branch wechseln
|
|
|
|
Wenn du wieder zum `main`-Branch zurückkehren möchtest, kannst du das so machen:
|
|
|
|
```bash
|
|
git switch main
|
|
```
|
|
|
|
Wichtig: Deine Änderungen im Branch bleiben erhalten, solange du sie vorher committet hast.
|
|
|
|
---
|
|
|
|
## 6. Branch in `main` mergen
|
|
|
|
Wenn dein Feature fertig ist und du sicher bist, dass es stabil läuft, kannst du den Branch in `main` zurückführen:
|
|
|
|
```bash
|
|
git switch main
|
|
git merge new-feature
|
|
```
|
|
|
|
---
|
|
|
|
**Tipp:** Arbeite immer in Branches, wenn du an neuen Features entwickelst, auch bei kleinen Änderungen. Das hat den Vorteil, dass du Änderungen jederzeit einfach rückgängig machen oder verwerfen kannst, ohne den Haupt-Branch (`main`) zu gefährden. |