Wie kann ich den Unterschied
zwischen einem lokalen Branch und einem Remote-Branch sehen?
Antworten
Zu viele Anzeigen?Um Remote-Tracking-Zweige zu aktualisieren, müssen Sie zuerst git fetch
eingeben und dann:
git diff
Sie können git branch -a
eingeben, um alle Zweige (lokal und remote) aufzulisten, und dann den Zweignamen aus der Liste auswählen (entfernen Sie einfach remotes/
aus dem Remote-Zweig-Namen.
Beispiel: git diff main origin/main
(wobei "main" der lokale Hauptzweig ist und "origin/main" ein Remote-Zweig ist, nämlich der Ursprung und der Hauptzweig.)
Wenn Sie sich auf einem bestimmten Branch befinden und Ihren Arbeitskopie mit dem Upstream-Branch vergleichen möchten, den Sie verfolgen, verwenden Sie:
git diff @{upstream}
Wenn Sie Ihren aktuellen HEAD mit dem Upstream-Branch vergleichen möchten (danke @Arijoon):
git diff @ @{upstream}
Wenn Ihr Upstream nicht festgelegt ist, können Sie @{push}
verwenden, um einen Unterschied gegenüber dem Branch zu erhalten, zu dem Sie setzen werden, um zu pushen (auch aus dem Kommentar von @Arijoon):
git diff @{push}
Laut dieser Antwort hat die git-Dokumentation für das Spezifizieren von Revisionen:
@{upstream}
, z.B.master@{upstream}
,@{u}
Der Suffix@{upstream}
zu einem Branchnamen (Kurzform@{u}
) bezieht sich auf den Branch, auf dem der durchbranchname
angegebene Branch zur Erstellung oben konfiguriert ist mitbranch..remote
undbranch..merge
). Ein fehlenderbranchname
wird auf den aktuellen gesetzt.
Erster Typ
git branch -a
um die Liste der verfügbaren Branches zu erhalten. In der Ausgabe sehen Sie möglicherweise etwas Ähnliches wie
* master
remotes/main/master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/mt
remotes/upstream/master
remotes/upstream/mt
Zeigen Sie dann den Unterschied
git diff --stat --color remotes/main/master..origin/master
git diff remotes/main/master..origin/master
- See previous answers
- Weitere Antworten anzeigen