107 lines
2.7 KiB
Markdown
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 |