Git-Zweig umbasieren
Dieses Tutorial behandelt die verschiedenen Schritte, die Sie unternehmen können, um Ihren lokalen Zweig mit den Befehlen git fetch
, git rebase
und git push
auf einen Remote-Master-Branch umzubasen.
Lokale Verzweigung auf eine Remote-Master-Verzweigung in Git umbasen
-
Änderungen abrufen
Wir verwenden den Befehl
git fetch
, um alle Änderungen aus unserem Remote-Repository abzurufen.pc@JOHN MINGW64 ~/Git (Branch1) $ git fetch remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 610 bytes | 3.00 KiB/s, done. From https://github.com/Wachira11ke/Delftscopetech * [new branch] main -> origin/main
-
Änderungen vornehmen
Wir führen den Befehl
git rebase
aus, um Änderungen in unseren Zweig zu integrieren. Das folgende Beispiel wird unseren aktuellen Zweig vom Hauptzweig umbasieren.pc@JOHN MINGW64 ~/Git (main) $ git rebase main Current branch main is up to date.
Verwenden Sie bei Konflikten das
git add .
Befehl, sie zu lösen. Führen Sie den Befehlgit commit
nicht nachgit add .
aus. Befehl.Verwenden Sie nach dem Lösen der Konflikte
git rebase --continue
, um den Vorgang abzuschließen. Wenn Sie den Prozess nach dem Lösen der Konflikte abbrechen möchten, verwenden Sie den Befehlgit rebase --abort
. -
Pushen Sie Änderungen an das Remote-Repository
Um den Inhalt in Ihr lokales Repository hochzuladen, verwenden Sie den Befehl
git push -f
wie unten dargestellt.git push main HEAD -f
Das
-f
überschreibt alle Änderungen, die von anderen Entwicklern im Remote-Repository vorgenommen wurden.Nachfolgend finden Sie eine sicherere Methode, um Änderungen an ein Remote-Repository zu übertragen.
git push --force-with-lease main HEAD
Dieser Befehl überschreibt nicht die Änderungen, die von anderen Entwicklern im Remote-Repository vorgenommen wurden.
Umbasieren und Zusammenführen werden verwendet, um Änderungen von einem Zweig in einen anderen zu integrieren. Beim Rebasing wird ein Feature-Branch aktualisiert, ohne den Branch-Verlauf zu stören, was einen saubereren Commit-Verlauf ermöglicht.
Es ist das Gegenteil von
git merge
, das widersprüchliche Branches erzeugen kann, wenn es mit anderen geteilt wird.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn