Git Rebase Origin/Branch vs. Git Rebase Origin Branch
Dieser Artikel beschreibt den Unterschied zwischen den Befehlen git rebase origin/branch
und git rebase origin branch
. Wir verwenden beide Befehle zum Rebase von der Fernbedienung, aber die praktische Verwendung variiert, wie wir in Kürze besprechen werden.
Unterschied zwischen den Befehlen git rebase origin/branch
und git rebase origin master
Um den Unterschied zwischen den beiden Befehlen zu verstehen, schauen wir uns an, was jeder Befehl tut und welchem Arbeitsablauf sie folgen.
den Befehl git rebase origin/branch
Schauen wir uns das folgende Beispiel an:
$ git rebase origin/master
Dieser Befehl impliziert, dass wir einen Zweig aus dem master
-Zweig unseres Upstreams rebasen wollen. Der Befehl allein kann den Job jedoch nicht abschließen.
Bevor Sie diesen Befehl ausführen, müssen Sie vom Upstream-Branch master
abrufen.
Alternativ können Sie den traditionellen Weg verwenden:
- Wechseln Sie mit dem Befehl
git checkout master
zu Ihremmaster
-Zweig. - Ziehen Sie mit dem Befehl
git pull origin master
von Ihrem Upstream-Zweigmaster
. - Wechseln Sie mit dem Befehl
git checkout <branch-name>
zurück zu dem Branch, den Sie rebasen möchten. - Nun können Sie
git rebase origin/master
ausführen.
Dies sollte die Commits in Ihrem Branch mit den Commits im vorgelagerten master
-Branch aktualisieren.
den Befehl git rebase origin master
Der git rebase origin master
ist eine Kombination aus zwei Commits.
$ git checkout master
Und
$ git rebase origin
Wir alle wissen, dass git rebase origin
bedeutet, dass wir vom Tracking-Zweig von origin
oder mit anderen Worten von unserem Upstream rebasen wollen. Daraus können wir ableiten, dass git rebase origin master
zu unserem master
-Zweig wechselt und ihn vom Remote-Tracking-Zweig rebasiert.
Der Befehl schlägt fehl, wenn Sie keinen Remote-Tracking-Zweig für Ihren master
-Zweig haben. Sie können Abhilfe schaffen, indem Sie einen vorgelagerten Tracking-Zweig setzen, wie unten gezeigt:
$ git branch --set-upstream-to=origin/master
Stellen Sie sicher, dass Sie in Ihrem master
-Zweig ausgecheckt sind, bevor Sie den obigen Befehl ausführen.
Abschluss
Aus dem Obigen können wir schlussfolgern, dass der git rebase origin master
verwendet wird, um den master
-Zweig vom Upstream-Tracking-Zweig zu rebasen, während der git rebase origin/master
verwendet wird, um einen bestimmten Zweig vom Upstream zu rebasen master
-Zweig.
Der git rebase origin/master
erhält jedoch nicht die neuen Commits im vorgelagerten master
-Zweig. Sie müssen Ihren lokalen master
-Zweig vor dem Rebasing aktualisieren.
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