Kursinhalt
GitHub-Grundlagen
GitHub-Grundlagen
Durchführen Eines Rebase-Vorgangs
Änderungen auf den main-Branch umbasieren
Bevor wir unsere Änderungen umbasieren können, müssen wir zunächst auf den main
-Branch wechseln und die neuesten Änderungen abrufen:
Werfen wir nun einen Blick auf den Commit-Baum:
Sowohl der main
- als auch der feature/payment
-Branch haben derzeit Commits nach dem letzten gemeinsamen Vorgänger. Dies bedeutet, dass ein Fast-Forward-Merge nicht durchgeführt werden kann.
Würden wir diese Branches zusammenführen, käme es zu einem Three-Way-Merge. Wir möchten jedoch unseren Verlauf linear halten, daher führen wir ein Rebase des feature/payment
-Branches auf den main
-Branch durch. Dies kann erreicht werden, indem wir auf den feature/payment
-Branch wechseln und den Befehl git rebase
ausführen:
Fast-forward-Merge
Da das Rebase erfolgreich war, werfen wir erneut einen Blick auf unseren Commit-Baum:
Wie erwartet ist die Commit-Historie nun linear, wobei der letzte Commit auf dem Branch feature/payment
liegt. Jetzt können wir einen einfachen Fast-forward-Merge auf den Branch main
durchführen:
Überprüfen wir, ob beide Branches auf denselben Commit zeigen, indem wir uns den letzten Commit ansehen:
Entfernen des Feature-Branches
Der main
-Branch enthält nun den neuesten Commit mit dem implementierten Zahlungssystem, daher können wir sowohl den lokalen als auch den entfernten feature/payment
-Branch sicher entfernen. Der folgende Befehl entfernt den entfernten Branch:
Nun können wir den lokalen Branch entfernen:
Abschließend können alle vorgenommenen Änderungen zurück in das Remote-Repository übertragen werden:
Um zu überprüfen, ob der feature-Branch sowohl lokal als auch remote gelöscht wurde, können Sie den folgenden Befehl ausführen, der alle (-a
steht für alle) lokalen und entfernten Branches auflistet:
Wie Sie sehen, wurde der Branch feature/payment
erfolgreich gelöscht, und es gibt jetzt nur noch zwei Branches: main
und john/test
mit ihren entfernten Gegenstücken.
Insgesamt eignet sich das Rebasen gut für lokale Änderungen, die noch nicht geteilt wurden, kann jedoch erhebliche Probleme verursachen, wenn Änderungen bereits in ein Remote-Repository veröffentlicht und möglicherweise von anderen Mitwirkenden heruntergeladen wurden. Das Rebasen von Commits, die von anderen verwendet werden, kann zu Verwirrung und Konflikten führen, da der Commit-Verlauf überschrieben wird.
Als allgemeine Regel gilt: Vermeiden Sie das Rebasen von Änderungen, die bereits in Remote-Repositories gepusht wurden, um diese Probleme zu verhindern.
Danke für Ihr Feedback!