# 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 ``` 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 ``` Falls du eine ältere Git-Version verwendest: ```bash git checkout ``` 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 ``` 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