Antworten:
Folgendes funktioniert für mich:
git diff master:foo foo
In der Vergangenheit war es möglicherweise:
git diff foo master:foo
--, Parameter von Pfadargumenten zu trennen? git diff -- master:foo foo
git diff -- master:foo foofunktioniert das nicht - es scheint das Argument master:fooals nicht vorhandenen Dateinamen zu behandeln (und ignoriert es) anstelle einer Datei in einem Zweig. Versuchen Sie, die letzten 2 Argumente zu wechseln. Wenn dies funktioniert hat, sollte der Diff-Vergleich umgekehrt werden, aber die Ausgabe ändert sich nicht.
git diff master:foo fooaber nicht umgekehrt. Ich verstehe es auch nicht. Mit Git 1.7.9.5 / Ubuntu 12.04 kann ich zumindest git diff -R master:foo foodas Diff bekommen, das ich eigentlich will. Wenn ich das mit msysgit 1.9.4 / Windows 7 x64 versuche, bekomme ich fatal: unable to read 0000000000000000000000000000000000000000. Ohne -Rbekomme ich die gleiche Fehlermeldung wie Sie mit Git 1.7.9.5, aber mit 1.9.4 bekomme ich fatal: master:foo: no such path in the working tree.
Sie versuchen, Ihren Arbeitsbaum mit einem bestimmten Zweignamen zu vergleichen, und möchten Folgendes:
git diff master -- foo
Welches ist von dieser Form von Git-Diff (siehe die Git-Diff-Manpage)
git diff [--options] <commit> [--] [<path>...]
This form is to view the changes you have in your working tree
relative to the named <commit>. You can use HEAD to compare it with
the latest commit, or a branch name to compare with the tip of a
different branch.
Zu Ihrer Information, es gibt auch eine --cached(aka --staged) Option zum Anzeigen des Unterschieds von dem, was Sie inszeniert haben, und nicht von allem in Ihrem Arbeitsbaum:
git diff [--options] --cached [<commit>] [--] [<path>...]
This form is to view the changes you staged for the next commit
relative to the named <commit>.
...
--staged is a synonym of --cached.
Ebenfalls: git diff master..feature foo
Da git diff foo master:foofunktioniert bei Verzeichnissen für mich nicht.
git diff branch1:foo master:foo
git diff mybranch master -- file
sollte auch funktionieren
git diff deployment master -- fileund git diff master deployment -- filefunktioniert wie erwartet mit 2 beliebigen Zweigen .
Um lokale Änderungen zu sehen, vergleichen Sie diese mit Ihrer aktuellen Niederlassung
git diff .
Um lokale Änderungen zu sehen, vergleichen Sie diese mit anderen vorhandenen Zweigen
git diff <branch-name> .
Änderungen einer bestimmten Datei anzeigen
git diff <branch-name> -- <file-path>
Stellen Sie sicher, dass Sie git fetcham Anfang laufen .
git diffsehe, denke ich an stackoverflow.com/questions/5256249/git-diff-doesnt-show-enough/…