Git Tutorial - Branches

Jinku Hu 30 Januar 2023
  1. Warum wird ein Zweig benötigt?
  2. Einen neuen Zweig in Git erstellen
  3. Einen Zweig in Git löschen
  4. Einen neuen Zweig erstellen und gleichzeitig in Git auschecken
Git Tutorial - Branches

In diesem Tutorial werden wir über eine der wichtigsten Funktionen im git Versionskontrollsystem lernen - den Zweig.

Warum wird ein Zweig benötigt?

Bis jetzt haben wir nur an einem Zweig gearbeitet - dem master Zweig. Er ist der Standardzweig, wenn wir ein neues Repository erstellen.

Im Allgemeinen repräsentiert der master Zweig die stabile Version Ihres Codes und ist als der Code gedacht, der veröffentlicht oder publiziert wird. Aus diesem Grund wollen wir nicht wirklich neue Funktionen an dem neuen Code im master Zweig ausprobieren, nur für den Fall, dass es den Code durcheinander bringt.

Was wir wirklich tun wollen, wenn wir eine neue Funktion zu unserer Anwendung hinzufügen wollen, ist, eine isolierte Umgebung zu schaffen, um diese neue Funktion auszuprobieren, und wenn wir fertig sind und sie testen, können wir diese neue Funktion in den master-Zweig integrieren. Anstatt weitere Commits in den master-Zweig einzufügen, erstellen wir einen neuen Zweig, um als isolierte Umgebung zu arbeiten und die neue Funktion auszuprobieren.

Einen neuen Zweig in Git erstellen

$ git branch test_branch

Was wir hier tun, wenn wir diesen Zweig test_branch machen, ist, dass wir den Zustand des Codes des master Zweigs auf diesen Zweig kopieren, um mit ihm zu beginnen, und dann können wir in diesem test_branch Zweig arbeiten.

Sie koennten die auf Ihrem PC verfuegbaren Zweige auflisten, indem Sie sie eingeben,

$ git branch
* master
  test_branch

Der neu erstellte test_branch und der master Zweig sind hier aufgelistet.

Jetzt sind Sie immer noch auf dem master Zweig, obwohl Sie gerade den neuen Zweig erstellt haben. Sie müssen den neuen Zweig auschecken, um daran arbeiten zu können.

$ git checkout test_branch
Switched to branch 'test_branch'
D       test1_rename.txt

Hier steht, dass er jetzt auf den Zweig test_branch umgeschaltet ist, und wenn Sie wieder git branch machen,

$ git branch
  master
* test_branch

Dann werden wir sehen, dass wir jetzt auf dem Testzweig sind, denn das Sternchen * steht vor Testzweig, aber nicht mehr master.

Lassen Sie uns etwas Text an die Datei test3.txt anhängen, wie This is the added line in branch test_branch.. Wenn Sie jetzt git status machen, werden Sie sehen, dass Sie diese Datei geändert haben.

$ git status
On branch test_branch
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   test3.txt

no changes added to commit (use "git add" and/or "git commit -a")

Wir könnten die Änderungen an diesen Zweig als das übergeben, was wir in den letzten Kapiteln gelernt haben.

Was wir getan haben, ist, dass wir diesen neuen Zweig erstellt und einige Änderungen vorgenommen haben, die vom master-Zweig isoliert sind. Die Codes im master-Zweig bleiben unverändert und stabil.

Einen Zweig in Git löschen

Nachdem wir mit dem neuen Feature, das dem Zweig hinzugefügt wurde, zufrieden sind, konnten wir es löschen.

$ git checkout master
$ git branch -d test_branch
error: The branch 'test_branch' is not fully merged.
If you are sure you want to delete it, run 'git branch -D test_branch'.

Der Parameter -d nach branch bedeutet, dass der angegebene Zweig gelöscht wird.

Wir haben einen Fehler, der besagt The branch 'test_branch' is not fully merged. If you are sure you want to delete it, run 'git branch -D test_branch'.. Das kleingeschriebene d funktioniert erst, wenn wir den Zweig zusammengeführt haben, aber das großgeschriebene D könnte den Zweig zwangsweise löschen. Wir werden in den nächsten Kapiteln einführen, wie man einen Zweig zusammenführt, aber für den Moment benutzen wir einfach das große D, um diesen Zweig zu löschen.

$ git branch -D test_branch
Deleted branch test_branch (was 7d6bca6).

Wenn Sie jetzt Zweige markieren, zeigt es nur noch den master-Zweig an.

$ git branch
* master

Einen neuen Zweig erstellen und gleichzeitig in Git auschecken

Der oben gezeigte Arbeitsablauf erstellt zuerst einen Zweig mit git branch und checkt diesen Zweig dann mit git checkout aus.

Es gibt einen schnelleren Weg, diese beiden Schritte zu einem zu kombinieren.

$ git checkout -b new_test_branch
Switched to a new branch 'new_test_branch'
M       test3.txt

Was er macht, ist, dass er einen Branch erstellt und ihn auch auscheckt. Also müssen wir diese beiden Schritte nicht getrennt durchführen.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook