Git/Aufgaben/04_Branches.md

107 lines
2.7 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. Branch auf das Upstream-Repository pushen
Um den neuen Branch und die Änderungen auf das Upstream-Repository zu pushen, benutze den folgenden Befehl:
```bash
git push -u origin <branch-name>
```
Beispiel:
```bash
git push -u origin new-feature
```
Der `-u`-Flag sorgt dafür, dass Git die Verbindung zwischen deinem lokalen Branch und dem Remote-Branch auf dem Upstream-Repository speichert. So kannst du später einfach `git push` oder `git pull` verwenden, ohne den Remote-Branch jedes Mal angeben zu müssen.
## 6. Unterschiede zwischen den Branches im Webinterface ansehen
Öffne nun das Webinterface deines Repositories auf Gitty. Oben links über der Dateiliste kannst du den Branch auswählen, der angezeigt wird. Wechsle mehrmals zwischen den beiden Branches und achte darauf, wie sie sich unterscheiden.
## 7. Zurück zum `main`-Branch wechseln
Wenn du dein lokales Repository wieder zum `main`-Branch zurückkehren möchtest, kannst du das so machen:
```bash
git switch main
```
**Tip:** Deine Änderungen im Branch bleiben erhalten, solange du sie vorher committet hast.
## 8. 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
```
Wir pushen diesen Merge nicht, das bedeutet in dem Remote-Repository auf Gitty sind weiterhin beide branches verschieden