So funktioniert Branching mit Bitbucket Cloud
Ziel
In diesem Tutorial lernst du die Grundlagen zum Erstellen, Reviewen und Mergen von Branches mit Git und Bitbucket Cloud.
Zeit | Zielpublikum | Voraussetzungen |
---|---|---|
35 Minuten | Du verstehst den grundlegenden Git-Workflow bereits. | Du hast Git installiert. |
Du hast einen Bitbucket-Account. |
Dieses Tutorial hilft dir, wenn du den grundlegenden Git-Workflow bereits verstanden hast und mit folgenden Befehlen vertraut bist:
- Klonen: das Remote-Repository in Bitbucket Cloud auf dein lokales System kopieren
- Hinzufügen oder stagen: deine Änderungen auf das Hinzufügen in den Git-Verlauf vorbereiten
- Committen: neue oder geänderte Dateien dem Git-Verlauf des Repositorys hinzufügen
- Pull: Neue Änderungen, die Andere dem Repository hinzugefügt haben, in dein lokales Repository übernehmen
- Push: Änderungen aus deinem lokalen System in das Remote-Repository übernehmen
Wenn du mit den Git-Grundlagen nicht vertraut bist und dir fix das entsprechende Wissen aneignen willst, sieh dir einfach unser Tutorial Git kennenlernen mit Bitbucket Cloud an.
Git einrichten
Damit du gleich üben kannst, wie die Arbeit im Team in einem gemeinsamen Bitbucket-Repository abläuft, haben wir dir ein öffentliches Repository zum Forken bereitgestellt.
- Gehe zu tutorials/tutorials.git.bitbucket.org.
- Klicke links auf + > Fork this repository (Dieses Repository forken).
- Gib einen Namen ein, der im Team noch nicht vergeben ist, und klicke auf Fork repository (Repository forken).
- Erstelle für das Repository ein Verzeichnis, das du leicht aufrufen kannst. Das könnte in etwa wie folgt aussehen:
$ mkdir test-repositorys $ cd test-repositorys/ $ test-repositorys
- Klone das geforkte Repository in das gerade erstellte Verzeichnis. Das wird in etwa wie folgt aussehen:
$ git clone https://dstevenstest@bitbucket.org/dstevenstest/mygittutorial.bitbucket.io.git Cloning into 'mygittutorial.bitbucket.io'... remote: Counting objects: 12392, done. remote: Compressing objects: 100% (12030/12030), done. remote: Total 12392 (delta 8044), reused 564 (delta 360) Receiving objects: 100% (12392/12392), 2.72 MiB | 701.00 KiB/s, done. Resolving deltas: 100% (8044/8044), done. $ cd mygittutorial.bitbucket.io/
Mit dem Branching-Workflow einen Branch erstellen und Änderungen vornehmen
In diesem Branch fügst du eine Notiz zu deiner Website hinzu.
- Erstelle einen Branch mit dem Befehl "git branch".
$ git branch test-1
- Checke mithilfe des "git checkout"-Befehls den Branch aus, den du gerade erstellt hast.
$ git checkout test-1 Switched to branch 'test-1'
- Lasse dir deine lokalen Branches mit dem Befehl "git branch" auflisten.
$ git branch main * test-1
- Nimm ein Update an der Datei editme.html vor, indem du eine Notiz hinzufügst. Du kannst zum Beispiel Folgendes verwenden:
This is a quote, and I like it.
A quote: The Art of Quoting - Füge diese Änderung hinzu.
git add editme.html
- Committe die Änderung mit einer beschreibenden Commit-Nachricht.
git commit editme.html -m'added a new quote' [test-1 063b772] added a new quote 1 file changed, 3 insertions(+), 3 deletions(-)
- Pushe diese Änderung mit dem Befehl "git push" zu Bitbucket.
git push fatal: The current branch test-1 has no upstream branch. Um den aktuellen Branch zu pushen und den Remote- als Upstream-Branch festzulegen, führe Folgendes durch git push --set-upstream origin test-1
- Pushe den Branch und die Änderung mit dem Befehl "git push branch".
$ git push origin test-1 Counting objects: 3, done. Delta compression using up to 8 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 363 bytes | 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: remote: Create pull request for test-1: remote: https://bitbucket.org/dstevenstest/dans.git.bitbucket.org/pull-requests/new?source=test-1&t=1 remote: To https://bitbucket.org/dstevenstest/dans.git.bitbucket.org.git * [new branch] test-1 -> test-1
- Öffne dein Übungs-Repository und klicke auf Branches. Jetzt sollten dir sowohl der Haupt-Branch als auch der Branch test-1 angezeigt werden. Dies sollte in etwa so aussehen:

Einen Remote Branch erstellen, abrufen und auschecken
Wenn du in einem Team arbeitest, wirst du wahrscheinlich Branches pullen und abrufen, die von anderen Teammitgliedern erstellt und zu Bitbucket gepusht wurden. In diesem Beispiel zeigen wir dir die Grundlagen zum Erstellen von Branches und wie du mit Branches, die andere erstellt haben, arbeiten kannst.
- BranchesGehe zu deinem Tutorial-Repository in Bitbucket und klicke auf Branches. Dort sollte in etwa Folgendes angezeigt werden:
- Klicke auf Create branch (Branch erstellen), gib dem Branch den Namen test-2 und klicke auf Create (Erstellen).
- Kopiere den Befehl "git fetch" in das Dialogfeld zum Auschecken deines Branches. Die Ausgabe wird in etwa wie folgt aussehen:
$ git fetch && git checkout test-2 From https://bitbucket.org/dstevenstest/dans.git.bitbucket.org * [new branch] test-2 -> origin/test-2 Branch test-2 set up to track remote branch test-2 from origin. Switched to a new branch 'test-2'
- Gib den Befehl "git branch" in dein Terminal ein. Es wird eine Liste mit Branches angezeigt, die in etwa so aussieht:
$ git branch main test-1 * test-2
- Mit dem Befehl "git status" erhältst du eine Ausgabe dieser Art:
$ git status On branch test-2 Your branch is up-to-date with 'origin/test-2'. nothing to commit, working tree clean
- Verwende den Befehl "git checkout", um den Fokus wieder auf deinen anderen Branch zu ändern. Der Befehl sieht dann etwa so aus:
$ git checkout test-1 Switched to branch 'test-1' Your branch is ahead of 'origin/test-1' by 3 commits. (use "git push" to publish your local commits)
Änderungen pushen und Pull-Requests erstellen
Jetzt wird es Zeit, deine erste Änderung reviewen zu lassen und den Branch zu mergen.
- Klicke auf +> Create a pull request (Eine Pull-Anfrage erstellen). Du kannst erkennen, dass test-1 hier als Quell-Branch und main als Ziel-Branch angezeigt wird.
- Klicke auf Create pull request (Pull-Request erstellen).
- Um einen Kommentar im Pull-Request zu verfassen, wähle eine Diff-Zeile aus. (Das ist dort, wo du die Änderung an der Datei editme.html vorgenommen hast.)
- Klicke oben links auf der Seite auf Approve (Genehmigen). In einer echten Pull-Anfrage gäbe es auch Reviewer, die Kommentare eingeben.
- Klicke auf Merge (Mergen).
- (Optional) Ergänze die Commit-Nachricht.
- Wähle eine der folgenden beiden Merge-Strategien zum Mergen des Commits:
- Merge commit (Commit mergen): Alle Commits aus deinem Quell-Branch werden beibehalten und in den Ziel-Branch eingegliedert. Alternativ kannst du "git merge --no-ff" in die Befehlszeile eingeben.
- Squash: Führt deine Commits zusammen, wenn du den Quell-Branch in den Ziel-Branch mergst. Alternativ kannst du "git merge --squash" in die Befehlszeile eingeben.
- Klicke auf Commits (Commits) und du siehst, wie sich der gerade gemergte Branch in die Gesamtheit der Änderungen einfügt.
Einen Branch löschen und den Haupt-Branch in den lokalen Arbeits-Branch pullen
Du hast jetzt den grundlegenden Branching-Workflow abgeschlossen und deine Änderung befindet sich im Haupt-Branch. Zum Schluss erklären wir, wie du den gerade gemergten Branch löschst, den aktualisierten Haupt-Branch pullst und den aktualisierten Haupt-Branch in deinen test-2-Branch mergst.
- Öffne dein Terminal und führe den Befehl "git status" aus. Das Ergebnis sollte etwa so aussehen:
$ git status On branch test-1 nothing to commit, working tree clean
- Wechsele in den Haupt-Branch. Führe dazu den Befehl "git checkout main" aus. Die Ausgabe sollte wie folgt aussehen:
git checkout main Switched to branch 'main' Your branch is up-to-date with 'origin/main'.
- Führe den Befehl "git pull" aus. Das Ergebnis sollte etwa so aussehen:
$ git pull remote: Counting objects: 1, done. remote: Total 1 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (1/1), done. From https://bitbucket.org/dstevenstest/dans.git.bitbucket.org 2d4c0ab..dd424cb main -> origin/main Updating 2d4c0ab..dd424cb Fast-forward editme.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
- Führe den Befehl "git branch -d {branch_name}" aus, um den Branch test-1 zu entfernen. Das Ergebnis wird etwa so aussehen:
$ git branch -d test-1 Deleted branch test-1 (was 063b772)
- Wechsele mit dem Befehl "git checkout" in den Branch test-2.
$ git checkout test-2 Switched to branch 'test-2' Your branch is up-to-date with 'origin/test-2'.
- Merge den Haupt-Branch in deinen Arbeits-Branch. Verwende dazu den Befehl "git merge main test-2". Das Ergebnis wird etwa so aussehen:
$ git merge main test-2 Updating 2d4c0ab..dd424cb Fast-forward editme.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
- Auf den aktiven Branch kommt es an. Wenn du den Haupt-Branch in test-2 mergen willst, solltest du test-2 ausgecheckt haben (aktiv). Dasselbe gilt, wenn du test-2 in den Haupt-Branch mergen willst. Auch dann musst du den Haupt-Branch ausgecheckt haben.
- Mit "git branch" kannst du den aktiven Branch anzeigen, der dann mit einem Sternchen markiert ist. Mit "git status" findest du heraus, in welchem Branch du dich befindest und ob lokale Änderungen ausstehen.
Wir hoffen, du hast ein wenig über das Branching und die zugehörigen Befehle gelernt. Rekapitulieren wir das Ganze noch einmal:
Den Branching-Workflow reviewen
Der Feature-Branch-Workflow von Git ermöglicht deinem Team eine effiziente Zusammenarbeit in Bitbucket. In diesem Workflow findet die gesamte Feature-Entwicklung in Branches statt, die vom Haupt-Branch abgetrennt sind. So ist es möglich, dass mehrere Entwickler an ihren Features arbeiten, ohne mit dem offiziellen Code in Berührung zu kommen.
![]() | Mit dem Haupt-Branch beginnenDieser Workflow hilft dir dabei, mit mindestens einer weiteren Person an deinem Code zu arbeiten. Solange dein Bitbucket und deine lokale Repositorys aktuell sind, kannst du direkt loslegen. |
Einen neuen Branch erstellenVerwende für jedes Feature oder Issue, an dem du arbeitest, einen separaten Branch. Nachdem du einen Branch erstellt hast. checkst du ihn lokal aus, damit alle deine Änderungen auf diesem Branch stattfinden. | |
Aktualisieren, Hinzufügen, Committen und Pushen von ÄnderungenGenau wie mit Git kannst du an Features arbeiten und Commits durchführen. Wenn du fertig bist, pushe deine Commits und der Feature Branch in Bitbucket wird aktualisiert. | |
Lass deinen Code überprüfenUm Feedback zu deinem Code zu bekommen, erstellst du einfach eine Pull-Anfrage in Bitbucket. Hier kannst du Reviewer hinzufügen und vor dem Mergen einen letzten Blick auf den Code werfen. | |
Einarbeiten von FeedbackJetzt ist es an deinen Teamkollegen, zu kommentieren und zu genehmigen. Bearbeite ihre Kommentare lokal, führe einen Commit durch und pushe Änderungen zu Bitbucket. Deine Updates erscheinen dann im Pull-Request. | |
Deinen Branch mergenVor dem Mergen musst du eventuelle Merge-Konflikte lösen, falls andere Entwickler Änderungen an dem Repository vorgenommen haben. Wenn deine Pull-Anfrage genehmigt wurde und es keine Konflikte gibt, kannst du deinen Code zum Haupt-Branch hinzufügen. Führe das Mergen über die Pull-Anfrage in Bitbucket durch. |
Dieses Tutorial kann dir nur begrenzt zeigen, wie Branches Teams effizienter machen. Es gibt verschiedene Branching-Ansätze, die wir teilweise in Workflows im Vergleich vorstellen.