Ich habe ursprünglich versucht, git diff HEAD origin/HEADwas auf einen anderen entfernten Zweig als den von mir beabsichtigten zu verweisen scheint. Die Verwendung des vollständigen Zweignamens funktioniert wie erwartet.
Deanna
Antworten:
592
Um Remote-Tracking-Zweige zu aktualisieren, müssen Sie zuerst Folgendes eingeben git fetchund dann:
git diff <masterbranch_path> <remotebranch_path>
Sie können git branch -aalle Zweige (lokal und remote) auflisten und dann den Namen des Zweigs aus der Liste auswählen (einfach entfernen)remotes/ aus dem Namen des entfernten Zweigs .
Beispiel: git diff master origin/master(wobei "master" ein lokaler Hauptzweig und "origin / master" ein entfernter Zweig ist, nämlich Ursprung und Hauptzweig.)
Das zeigt nur einen Einblick in die Änderungen in Bash. Gibt es eine Möglichkeit, alle Änderungen in einer IDE wie VS-Code zu öffnen?
Harter Phoujdar
@Harsh Phoujdar Fügen Sie den folgenden Code in Ihre .git / .gitconfig-Datei ein. Stellen [diff] tool = vscode [difftool] prompt = false [difftool "vscode"] cmd = \"C:\\Program Files (x86)\\Microsoft VS Code\\Code.exe\" \"$LOCAL\" \"$REMOTE\" --diff --wait trustExitCode = falseSie sicher, dass Ihr Pfad zur Datei code.exe korrekt ist.
Aman
1307
git diff <local branch> <remote>/<remote branch>
Zum Beispiel git diff master origin/masterodergit diff featureA origin/next
Um diesen Remote-Tracking-Zweig zu haben , müssen Sie natürlich zuerst; und Sie benötigen aktuelle Informationen zu Zweigen im Remote-Repository.git fetch
Normalerweise mache ich, um git diff <remote>/<remote branch> <local branch>zu sehen, was mein Push für das Remote-Repo bewirkt.
Michał Tatarynowicz
76
Die noch kürzere git diff originist ausreichend, wenn Sie nur mit Ihrer vorgelagerten Niederlassung vergleichen.
Ludder
12
Bitte fügen Sie git fetcham Anfang hinzu, es verursacht Ärger für Neulinge wie mich
Saif
1
Hey, sollte es nicht sein git diff <remote>/<remote branch> <local branch>? Andernfalls werden die Hinzufügungen und Löschungen auf meinem Computer aktiviert (Git-Version 2.7.0.windows.2)
Martín Coll
183
Erster Typ
git branch -a
um die Liste der verfügbaren Filialen zu erhalten. Auf der Ausgabe sehen Sie möglicherweise so etwas
Ich hätte dies definitiv als Antwort gewählt. Nach Ihren Anweisungen konnte ich die Unterschiede zwischen einem lokalen Zweig und einem entfernten Zweig anzeigen. Vielen Dank!
Tass
1
Normalerweise mache git log origin/my_branch..ich das HEADals lokalen Schiedsrichter, was meistens das ist, was du meinst.
Rudie
4
+1 für die beste Antwort meiner bescheidenen Meinung nach. Wäre +2 wert, wenn Sie "fetch" erwähnen würden, um das "remote" -Image der geklonten Quelle zu synchronisieren. Der Schritt Statistik- / Farbübersicht ist besonders hilfreich.
bvj
3
Vielen Dank für die eine Antwort, die sich schließlich aus den sieben oder acht "Antworten" ergab, die kaum mehr als fatal: bad revisionoder ergaben fatal: ambiguous argument. Ich wollte nur den Unterschied in derselben Datei aus einem anderen Zweig sehen. War das zu viel verlangt? Ja, ja, das war es. :-) git diff remotes/origin/<base branch> <current branch> -- <filename>funktioniert super auf Git 1.8.3.1
Steve Bonds
143
Wenn Sie sich in einem bestimmten Zweig befinden und diesen mit einem von Ihnen verfolgten Upstream-Zweig vergleichen möchten, verwenden Sie
git diff @{upstream}
wenn dein Upstream nicht eingestellt ist ( normalerweise der Fall, danke Arijoon in den Kommentaren)
<branchname>@{upstream}, Zum Beispiel master@{upstream}, @{u}
Das Suffix
@{upstream}an eine branch (Kurzform <branchname>@{u}) an den Zweig bezieht sich , daß die Verzweigung spezifiziert durch branchnamezu bauen auf der Oberseite (konfiguriert mit gesetzt ist branch.<name>.remoteund branch.<name>.merge). Ein fehlender branchnameStandardwert ist der aktuelle.
Sehr gute Antwort, nur ein kleines Teil fehlt. Ändern Sie die Zeile in git diff @ @{upstream}. Das Extra @ist HEAD, wo Sie jetzt sind, also vergleichen Sie HEADmit dem Upstream, den Ihre Niederlassung verfolgt. Sie können @{push}anstelle von Upstream verwenden, um Unterschiede zwischen den Zweigen zu erhalten, auf die Sie pushen
möchten
3
Beste Antwort: Sie müssen die Fernbedienung nicht abrufen. braucht mehr Upvotes!
jcomeau_ictx
3
In Fischschale habe ich Ergebnis bekommen : fatal: ambiguous argument '@upstream': unknown revision or path not in the working tree. Musste git diff @\{upstream\}stattdessen verwenden. 😥
Landon Kuhn
Sie müssen git fetchzuerst, sonst tut dies nichts, zeigt keine Ausgabe; getestet durch Löschen einer Datei im Repo-Ursprung und Ausführen dieses Befehls lokal. ..wirkt erst nach dem holen.
Da die angegebene Antwort auch lokale Änderungen enthält. manchmal ist dies erwünscht, manchmal nicht.
Deanna
44
Ich verstehe die Ausgabe von viel besser:
git diff <remote-tracking branch> <local branch>
Das zeigt mir, was gelöscht wird und was hinzugefügt wird, wenn ich den lokalen Zweig drücke. Natürlich ist es das Gleiche, nur das Gegenteil, aber für mich ist es besser lesbar und ich bin komfortabler, wenn ich sehe, was passieren wird.
Ich erhalte genau das gleiche Ergebnis mit: git diff <lokaler Zweig> <Remote-Tracking-Zweig> oder git diff <Remote-Tracking-Zweig> <lokaler Zweig>
user2928048
32
Der einfache Weg:
git fetch
git log -p HEAD..FETCH_HEAD
Dadurch werden zuerst die Änderungen von Ihrer Standardfernbedienung (Ursprung) abgerufen. Dies wird automatisch erstellt, wenn Sie ein Repo klonen. Sie können auch explizit sein : git fetch origin master.
Dann wird das Git-Protokoll verwendet, um Ihren aktuellen Zweig mit dem gerade abgerufenen zu vergleichen. (Die -pOption (Patch generieren) zeigt die Unterschiede .)
git fetch --all ruft alles von ALLEN Fernbedienungen ab. Git Fetch sollte ausreichen, wenn Sie die Standard-Ursprungsfernbedienung verwenden.
Christophe Keller
Erstaunlich, dass wir nach 8 Jahren eine vollständige Antwort erhalten, die die Schritte richtig erklärt. Wir können eine --help machen, um die Befehle zu bekommen. Bei SO geht es darum, sie zu verstehen.
GDBJ
11
Lassen Sie Ihren Arbeitszweig Entwicklung sein und möchten Sie zwischen lokalem Entwicklungszweig und Remoteentwicklungszweig unterscheiden. In diesem Fall sollte die Syntax wie git diff remotes/origin/development..development
oder sein
Hier habe ich zwei Ortsvereine haben ( my-branchund master) und 4 - Fernbedienung ( some-branch, some-other-branch, masterund my-branch).
Das Sternchen neben my-branchsignalisiert außerdem, dass ich mich derzeit in diesem Zweig befinde (das würden Sie auch wissen, wenn Sie den Befehl verwenden git status, der ausgegeben wird :) On branch my-branch..
Hinweis: Die entfernten Zweige in der Git-Bash-Shell werden rot angezeigt, während die lokalen Zweige grün angezeigt werden.
Um nur lokale Zweige anzuzeigen, könnten Sie versucht sein, dies zu verwenden, git branch -laber das ist ein völlig anderer Befehl. Um lokale Zweige anzuzeigen, verwenden Sie git branchohne Optionen
$ git branch
* my-branch
master
Um eine Überprüfung der grundlegenden Verzweigungsoptionen abzuschließen, gibt es das --list, was entgegen Ihrer Erwartung eine Filterung ermöglicht . Verwenden Sie es mit einem Muster wie diesem:
$ git branch --list 'my*'
* my-branch
Sie können auch --listmit den Optionen kombinieren -aund -rIhr Muster entsprechend anpassen ( denken Sie daran: Remote-Zweige beginnen mit "Fernbedienungen" ). Beispiel:
# this will show all branches (local & remote) that start with my
$ git branch --list 'my*' -a
* my-branch
# better: the pattern includes the remote
$ git branch --list '*my*' -a
* my-branch
remotes/origin/my-branch
Jetzt können Sie zwei beliebige Zweige von allen verfügbaren vergleichen (Sie können auch zwei Einheimische oder zwei Fernbedienungen vergleichen).
Hier vergleiche ich die lokale mit der Fernbedienung my-branch, sie sind synchronisiert, damit ich keine Ausgabe bekomme:
$ git diff my-branch remotes/origin/my-branch
Hinweis: Sie müssen die vollständigen Namen der Zweige ohne Anführungszeichen angeben.
Ich kann auch die lokale my-branchmit der Fernbedienung vergleichen master. Hier bekomme ich etwas Ausgabe, weil die Fernbedienung my-branchnicht in den Hauptzweig zusammengeführt wurde.
Hier ist eine kurze Antwort, wenn Sie Ihren aktuellen Zweig mit etwas vergleichen, das Sie möchten git pull.
git fetch
git diff FETCH_HEAD
Der erste Befehl ermittelt, welcher Remote-Zweig Ihrem aktuellen Zweig entspricht. Ein Artefakt dieser Berechnung in der FETCH_HEADReferenz. Dann verwendet der zweite Befehl diesen Referenzvergleich mit dem, was Ihr aktueller Zweig hat.
Ich weiß, dass es bereits mehrere Antworten auf diese Frage gibt, aber ich habe einen seltsamen Fehler erhalten, als ich die meisten ausprobiert habe.
In meinem Fall habe ich eine zweite Fernbedienung heroku, die nicht die ist, originund weil sie nicht synchronisiert war, wurde beim Versuch, Folgendes auszuführen git diff master heroku/master:
fatal: ambiguous argument 'heroku/master': unknown revision or path not in the working tree.
oder dies, wenn Sie den anderen Ansatz ausprobieren git diff master..heroku/master:
fatal: bad revision 'master..heroku/master'
In meinem Fall wurde in der Lösung der Remote-Name git fetchvor dem Ausführen ausdrücklich erwähnt git diff:
Ich denke, das ist interessant, weil ich einen Vergleich anstellen kann, bevor ich mich verpflichte und pushe. Leider ist in Windows vimdiff zum Anzeigen hässlich; Gibt es eine Möglichkeit, etwas Besseres wie Notepad ++ zu verwenden?
Stefano Scarpanti
3
Beispiel
git diff 'master' 'testlocalBranch'
Wenn Sie einen Editor wie Webstorm verwenden, können Sie mit der rechten Maustaste auf Datei auswählen, mit Zweig vergleichen und Ihren Zweig eingeben / auswählen.
Was bringt dies gegenüber der 7,5 Jahre alten akzeptierten Antwort mit mehr als 170 Upvotes?
Mark Rotteveel
Dies ist für mrblah der Benutzer oder für ähnliche Benutzer, die einen Kommentar für die akzeptierte Antwort hinzugefügt haben. Die Syntax unterscheidet sich von einem Beispiel und das Beispiel hilft aus Anfängersicht besser.
Kurkula
2
In diesem Fall sollte diese Antwort kommentiert werden.
Rachit
1
Führen Sie in VS 2019 nur FETCH aus. Ziehen Sie keinen Code.
Das habe ich getan. Unten in der .gitconfig-Datei hinzugefügt, damit ich Beyond Compare verwenden kann
Öffnen Sie die Eingabeaufforderung und wechseln Sie in das Arbeitsverzeichnis. Ich habe unten angegeben, um den lokalen DEV-Zweig mit dem entfernten DEV-Zweig zu vergleichen
git difftool dev origin/dev --dir-diff
Dadurch werden Beyond Compare geöffnet und Verzeichnisse mit unterschiedlichen Dateien geöffnet. Wenn keine Änderungen vorgenommen werden, wird Beyond Compare nicht gestartet.
git fetch # Do this if you want to compare with the network state of upstream; if the current local state is enough, you can skip this
git udiff
Unterschiedlich mit einem beliebigen Remote-Zweig
Dies beantwortet die Frage in Ihrer Überschrift ("seine Fernbedienung"); Wenn Sie sich von "einer Fernbedienung" unterscheiden möchten (die nicht als Upstream für den Zweig konfiguriert ist), müssen Sie sie direkt als Ziel festlegen. Sie können alle Remote-Zweige wie folgt anzeigen:
git branch -r
Sie können alle konfigurierten Fernbedienungen wie folgt anzeigen:
git remote show
Sie können die Zweig- / Verfolgungskonfiguration für eine einzelne Fernbedienung (z. B. Ursprung) wie folgt anzeigen:
git remote show origin
Sobald Sie den geeigneten Ursprungszweig ermittelt haben, führen Sie einfach einen normalen Diff durch :)
Wenn Sie TortoiseGit verwenden (es bietet eine grafische Benutzeroberfläche für Git), können Sie mit der rechten Maustaste auf Ihren Git-Repo-Ordner klicken und dann auf klicken Git Sync.
Sie können Ihre zu vergleichenden Zweige auswählen, wenn sie nicht ausgewählt sind. Dann können Sie Unterschiede Commit anzeigen. Sie können dann auch mit der rechten Maustaste auf ein Commit klicken, Compare with previous revisionum die Unterschiede nebeneinander anzuzeigen.
git diff HEAD origin/HEAD
was auf einen anderen entfernten Zweig als den von mir beabsichtigten zu verweisen scheint. Die Verwendung des vollständigen Zweignamens funktioniert wie erwartet.Antworten:
Um Remote-Tracking-Zweige zu aktualisieren, müssen Sie zuerst Folgendes eingeben
git fetch
und dann:Sie können
git branch -a
alle Zweige (lokal und remote) auflisten und dann den Namen des Zweigs aus der Liste auswählen (einfach entfernen)remotes/
aus dem Namen des entfernten Zweigs .Beispiel:
git diff master origin/master
(wobei "master" ein lokaler Hauptzweig und "origin / master" ein entfernter Zweig ist, nämlich Ursprung und Hauptzweig.)quelle
git fetch
)[diff] tool = vscode [difftool] prompt = false [difftool "vscode"] cmd = \"C:\\Program Files (x86)\\Microsoft VS Code\\Code.exe\" \"$LOCAL\" \"$REMOTE\" --diff --wait trustExitCode = false
Sie sicher, dass Ihr Pfad zur Datei code.exe korrekt ist.Zum Beispiel
git diff master origin/master
odergit diff featureA origin/next
Um diesen Remote-Tracking-Zweig zu haben , müssen Sie natürlich zuerst; und Sie benötigen aktuelle Informationen zu Zweigen im Remote-Repository.
git fetch
quelle
git diff <remote>/<remote branch> <local branch>
zu sehen, was mein Push für das Remote-Repo bewirkt.git diff origin
ist ausreichend, wenn Sie nur mit Ihrer vorgelagerten Niederlassung vergleichen.git fetch
am Anfang hinzu, es verursacht Ärger für Neulinge wie michgit diff <remote>/<remote branch> <local branch>
? Andernfalls werden die Hinzufügungen und Löschungen auf meinem Computer aktiviert (Git-Version 2.7.0.windows.2)Erster Typ
um die Liste der verfügbaren Filialen zu erhalten. Auf der Ausgabe sehen Sie möglicherweise so etwas
Dann zeigen Sie den Diff
quelle
...
eher sein als..
?git log origin/my_branch..
ich dasHEAD
als lokalen Schiedsrichter, was meistens das ist, was du meinst.fatal: bad revision
oder ergabenfatal: ambiguous argument
. Ich wollte nur den Unterschied in derselben Datei aus einem anderen Zweig sehen. War das zu viel verlangt? Ja, ja, das war es. :-)git diff remotes/origin/<base branch> <current branch> -- <filename>
funktioniert super auf Git 1.8.3.1Wenn Sie sich in einem bestimmten Zweig befinden und diesen mit einem von Ihnen verfolgten Upstream-Zweig vergleichen möchten, verwenden Sie
wenn dein Upstream nicht eingestellt ist ( normalerweise der Fall, danke Arijoon in den Kommentaren)
Mit freundlicher Genehmigung dieser Antwort enthält die Git-Dokumentation zur Angabe von Revisionen :
quelle
git diff @ @{upstream}
. Das Extra@
istHEAD
, wo Sie jetzt sind, also vergleichen SieHEAD
mit dem Upstream, den Ihre Niederlassung verfolgt. Sie können@{push}
anstelle von Upstream verwenden, um Unterschiede zwischen den Zweigen zu erhalten, auf die Sie pushenfatal: ambiguous argument '@upstream': unknown revision or path not in the working tree
. Musstegit diff @\{upstream\}
stattdessen verwenden. 😥git fetch
zuerst, sonst tut dies nichts, zeigt keine Ausgabe; getestet durch Löschen einer Datei im Repo-Ursprung und Ausführen dieses Befehls lokal. ..wirkt erst nach dem holen.Ich verstehe die Ausgabe von viel besser:
git diff <remote-tracking branch> <local branch>
Das zeigt mir, was gelöscht wird und was hinzugefügt wird, wenn ich den lokalen Zweig drücke. Natürlich ist es das Gleiche, nur das Gegenteil, aber für mich ist es besser lesbar und ich bin komfortabler, wenn ich sehe, was passieren wird.
quelle
Der einfache Weg:
Dadurch werden zuerst die Änderungen von Ihrer Standardfernbedienung (Ursprung) abgerufen. Dies wird automatisch erstellt, wenn Sie ein Repo klonen. Sie können auch explizit sein :
git fetch origin master
.Dann wird das Git-Protokoll verwendet, um Ihren aktuellen Zweig mit dem gerade abgerufenen zu vergleichen. (Die
-p
Option (Patch generieren) zeigt die Unterschiede .)quelle
So mache ich es.
Dadurch wird alles von der Fernbedienung abgerufen. Wenn Sie also den Unterschied überprüfen, wird der Unterschied mit dem Remote-Zweig verglichen.
Mit dem obigen Befehl werden alle Zweige angezeigt.
Jetzt können Sie den Unterschied wie folgt überprüfen.
Dadurch wird Ihre lokale Niederlassung mit der Remote-Niederlassung verglichen
quelle
Lassen Sie Ihren Arbeitszweig Entwicklung sein und möchten Sie zwischen lokalem Entwicklungszweig und Remoteentwicklungszweig unterscheiden. In diesem Fall sollte die Syntax wie
git diff remotes/origin/development..development
oder sein
git fetch origin git diff origin/development
quelle
tl; dr :
git diff <local branch> <remote branch>
Wenn ich Git auf der Schale benutze, orientiere ich mich gerne zuerst, indem ich mich umsehe. Hier ist ein Befehl, um alle Zweige anzuzeigen
Hier habe ich zwei Ortsvereine haben (
my-branch
undmaster
) und 4 - Fernbedienung (some-branch
,some-other-branch
,master
undmy-branch
).Das Sternchen neben
my-branch
signalisiert außerdem, dass ich mich derzeit in diesem Zweig befinde (das würden Sie auch wissen, wenn Sie den Befehl verwendengit status
, der ausgegeben wird :)On branch my-branch.
.Hinweis: Die entfernten Zweige in der Git-Bash-Shell werden rot angezeigt, während die lokalen Zweige grün angezeigt werden.
Wenn Sie nur entfernte Zweige anzeigen möchten :
Um nur lokale Zweige anzuzeigen, könnten Sie versucht sein, dies zu verwenden,
git branch -l
aber das ist ein völlig anderer Befehl. Um lokale Zweige anzuzeigen, verwenden Siegit branch
ohne OptionenUm eine Überprüfung der grundlegenden Verzweigungsoptionen abzuschließen, gibt es das
--list
, was entgegen Ihrer Erwartung eine Filterung ermöglicht . Verwenden Sie es mit einem Muster wie diesem:Sie können auch
--list
mit den Optionen kombinieren-a
und-r
Ihr Muster entsprechend anpassen ( denken Sie daran: Remote-Zweige beginnen mit "Fernbedienungen" ). Beispiel:Dokumente: https://git-scm.com/docs/git-branch
Jetzt können Sie zwei beliebige Zweige von allen verfügbaren vergleichen (Sie können auch zwei Einheimische oder zwei Fernbedienungen vergleichen).
Hier vergleiche ich die lokale mit der Fernbedienung
my-branch
, sie sind synchronisiert, damit ich keine Ausgabe bekomme:Hinweis: Sie müssen die vollständigen Namen der Zweige ohne Anführungszeichen angeben.
Ich kann auch die lokale
my-branch
mit der Fernbedienung vergleichenmaster
. Hier bekomme ich etwas Ausgabe, weil die Fernbedienungmy-branch
nicht in den Hauptzweig zusammengeführt wurde.quelle
Wenn Sie den Unterschied sehen möchten, wenn nur die Namen der Dateien geändert werden, verwenden Sie :
git diff --name-status <remote-branch> <local-branch>
,andernfalls werden alle Unterschiede zwischen den beiden Zweigen angezeigt:
git diff <remote-branch> <local-branch>
quelle
Hier ist eine kurze Antwort, wenn Sie Ihren aktuellen Zweig mit etwas vergleichen, das Sie möchten
git pull
.Der erste Befehl ermittelt, welcher Remote-Zweig Ihrem aktuellen Zweig entspricht. Ein Artefakt dieser Berechnung in der
FETCH_HEAD
Referenz. Dann verwendet der zweite Befehl diesen Referenzvergleich mit dem, was Ihr aktueller Zweig hat.quelle
Ich weiß, dass es bereits mehrere Antworten auf diese Frage gibt, aber ich habe einen seltsamen Fehler erhalten, als ich die meisten ausprobiert habe.
In meinem Fall habe ich eine zweite Fernbedienung
heroku
, die nicht die ist,origin
und weil sie nicht synchronisiert war, wurde beim Versuch, Folgendes auszuführengit diff master heroku/master
:fatal: ambiguous argument 'heroku/master': unknown revision or path not in the working tree.
oder dies, wenn Sie den anderen Ansatz ausprobieren
git diff master..heroku/master
:fatal: bad revision 'master..heroku/master'
In meinem Fall wurde in der Lösung der Remote-Name
git fetch
vor dem Ausführen ausdrücklich erwähntgit diff
:Ich hoffe, das hilft anderen bei diesem Problem.
quelle
Dadurch wird das gewünschte Commit mit Ihren lokalen Dateien verglichen. Vergessen Sie nicht den Punkt am Ende (für lokale).
So vergleichen Sie beispielsweise Ihre lokalen Dateien mit einem Commit:
(und Sie brauchen keinen Git-Abruf, es sei denn, ein Vergleich mit neuen Commits ist erforderlich)
quelle
Beispiel
Wenn Sie einen Editor wie Webstorm verwenden, können Sie mit der rechten Maustaste auf Datei auswählen, mit Zweig vergleichen und Ihren Zweig eingeben / auswählen.
quelle
Führen Sie in VS 2019 nur FETCH aus. Ziehen Sie keinen Code.
Das habe ich getan. Unten in der .gitconfig-Datei hinzugefügt, damit ich Beyond Compare verwenden kann
Unten hinzugefügt
Öffnen Sie die Eingabeaufforderung und wechseln Sie in das Arbeitsverzeichnis. Ich habe unten angegeben, um den lokalen DEV-Zweig mit dem entfernten DEV-Zweig zu vergleichen
Dadurch werden Beyond Compare geöffnet und Verzeichnisse mit unterschiedlichen Dateien geöffnet. Wenn keine Änderungen vorgenommen werden, wird Beyond Compare nicht gestartet.
quelle
Ich wundere mich über gibt es eine Veränderung in meinem Master - Zweig ...
quelle
Installieren
git config alias.udiff 'diff @{u}'
Unterschiedlicher KOPF mit KOPF @ {upstream}
Unterschiedlich mit einem beliebigen Remote-Zweig
Dies beantwortet die Frage in Ihrer Überschrift ("seine Fernbedienung"); Wenn Sie sich von "einer Fernbedienung" unterscheiden möchten (die nicht als Upstream für den Zweig konfiguriert ist), müssen Sie sie direkt als Ziel festlegen. Sie können alle Remote-Zweige wie folgt anzeigen:
git branch -r
Sie können alle konfigurierten Fernbedienungen wie folgt anzeigen:
git remote show
Sie können die Zweig- / Verfolgungskonfiguration für eine einzelne Fernbedienung (z. B. Ursprung) wie folgt anzeigen:
git remote show origin
Sobald Sie den geeigneten Ursprungszweig ermittelt haben, führen Sie einfach einen normalen Diff durch :)
git diff [MY_LOCAL] MY_REMOTE_BRANCH
quelle
Das ist ganz einfach. Sie können verwenden:
git diff remote/my_topic_branch my_topic_branch
Wo
my_topic_branch
ist dein Themenzweig?quelle
Angenommen, Sie haben Ihr
origin
Repository bereits als Remote-Repository eingerichtet. Dann,git diff <local branch> <origin>/<remote branch name>
quelle
Versuchen:
Angenommen, Sie möchten Ihre aktuellen lokalen Zweige
HEAD
vom Ursprung unterscheiden. Und vorausgesetzt, Sie sind in der lokalen Niederlassung. :) :)quelle
Wenn Sie TortoiseGit verwenden (es bietet eine grafische Benutzeroberfläche für Git), können Sie mit der rechten Maustaste auf Ihren Git-Repo-Ordner klicken und dann auf klicken
Git Sync
.Sie können Ihre zu vergleichenden Zweige auswählen, wenn sie nicht ausgewählt sind. Dann können Sie Unterschiede Commit anzeigen. Sie können dann auch mit der rechten Maustaste auf ein Commit klicken,
Compare with previous revision
um die Unterschiede nebeneinander anzuzeigen.quelle