Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Grundlagen des Rebasings | Fortgeschrittenere Workflows
GitHub-Grundlagen
course content

Kursinhalt

GitHub-Grundlagen

GitHub-Grundlagen

1. Einführung in GitHub
2. Grundlegende Interaktion mit Remotes
3. Fortgeschrittenere Workflows

book
Grundlagen des Rebasings

Einen Commit auf dem main-Branch machen

Lassen Sie uns damit beginnen, einen Commit direkt im Remote-main-Branch zu machen, indem wir die Datei README.md im Remote-Repository bearbeiten. Dies wird dazu führen, dass der main-Branch und der feature/payment-Branch eine auseinanderlaufende Commit-Historie haben.

Hier ist die Zeile, die zur Datei hinzugefügt wurde:

Hier ist die entsprechende Commit-Nachricht:

Verständnis von Rebasing

Wie wir im vorherigen Kapitel erwähnt haben, kann und sollte der Feature-Branch, nachdem er überprüft und getestet wurde, wieder in den main-Branch zusammengeführt werden. Bis jetzt haben wir dafür nur den Befehl git merge verwendet. Eine andere Methode ist jedoch die Verwendung des Befehls git rebase.

Wenn wir einen Branch erstellen, verfolgt Git den letzten Commit auf beiden Branches. Wenn nur ein Branch neue Änderungen hat, kann Git diese schnell vorwärts bringen und anwenden. Wenn jedoch beide Branches neue Änderungen haben, erstellt Git einen neuen Merge-Commit, was zu einem Drei-Wege-Merge führt.

So würde ein Drei-Wege-Merge in unserem Fall aussehen, bei dem C4 der letzte Commit auf dem feature/payment Branch vor dem Merging war:

Drei-Wege-Merges können jedoch das Debuggen erschweren, da sie eine geteilte, nicht-lineare Historie erzeugen. Durch das Rebasen ändern wir die Basis unserer Commits und spielen sie auf der neuen Basis erneut ab, sodass Git einen Fast-Forward-Merge durchführen und eine lineare Historie beibehalten kann.

Hier ist eine Animation, die veranschaulicht, wie Rebasing in unserem Fall durchgeführt werden kann (die Commit-Bezeichner entsprechen hier nicht den realen):

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4
We're sorry to hear that something went wrong. What happened?
some-alt