Risposte:
Per me funziona quanto segue:
git diff master:foo foo
In passato, potrebbe essere stato:
git diff foo master:foo
--
per separare i parametri dagli argomenti del percorso? git diff -- master:foo foo
git diff -- master:foo foo
non funziona - sembra trattare arg master:foo
come un nome di file inesistente (e lo ignora) invece di un file in un ramo. Prova a cambiare gli ultimi 2 argomenti: se ha funzionato, il confronto diff dovrebbe essere invertito, ma l'output non cambia.
git diff master:foo foo
ma non viceversa. Neanche io lo capisco. Con git 1.7.9.5 / Ubuntu 12.04 posso almeno fare git diff -R master:foo foo
per ottenere il diff che voglio davvero. Quando provo che con msysgit 1.9.4 / Windows 7 x64 ottengo fatal: unable to read 0000000000000000000000000000000000000000
. Senza -R
ricevo lo stesso messaggio di errore di te con git 1.7.9.5, ma con 1.9.4 ottengo fatal: master:foo: no such path in the working tree
.
Stai cercando di confrontare il tuo albero di lavoro con un nome di ramo particolare, quindi vuoi questo:
git diff master -- foo
Che proviene da questa forma di git-diff (vedi la manpage git-diff)
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.
Cordiali saluti, c'è anche un'opzione --cached
(aka --staged
) per visualizzare il diff di ciò che hai messo in scena, piuttosto che tutto nel tuo albero di lavoro:
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.
Anche: git diff master..feature foo
Dal momento git diff foo master:foo
che non funziona su directory per me.
git diff branch1:foo master:foo
git difftool tag/branch filename
git difftool
non ha alcuna -v
opzione secondo i documenti git-scm.com/docs/git-difftool . Volevi dire -y
?
git diff mybranch master -- file
dovrebbe anche funzionare
git diff deployment master -- file
e git diff master deployment -- file
funzionano come previsto con 2 rami qualsiasi .
Per vedere le modifiche locali confrontare con il tuo ramo attuale
git diff .
Per vedere le modifiche locali confrontate con qualsiasi altra filiale esistente
git diff <branch-name> .
Per vedere le modifiche di un determinato file
git diff <branch-name> -- <file-path>
Assicurati di correre git fetch
all'inizio.
git diff
, penso sempre di stackoverflow.com/questions/5256249/git-diff-doesnt-show-enough/...