2012-06-19 5 views
8

Sto cercando di ottenere git diff per funzionare su Windows 7 a 64 bit. Quando eseguo i seguenti comandi da un prompt dei comandi di Windows:git diff e git difftool non fanno nulla e non danno output

C:\temp\mygrit>git diff 

o

C:\temp\mygrit>git difftool 

ricevo nessuna uscita e nessun lancio di programmi esterni. Ecco il mio file .gitconfig:

[diff] 
    tool = bc3 
[difftool] 
    prompt = false 
[difftool "bc3"] 
    cmd = \"c:/program files (x86)/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" 

ottengo gli stessi risultati se rimuovere tutte queste righe da .gitconfig.

Qualche idea su cosa sta succedendo?

risposta

10

OK, risposta semplice. Il comportamento predefinito per git diff consiste nel mostrare tutti i file che sono stati modificati ma non gestiti. Se non si dispone di file modificati, non vi è alcun output.

git difftool utilizza l'uscita di git diff quindi se non viene emesso dal comando precedente gif difftool non verrà eseguito nulla.

Soluzione: Modificare alcuni file ma non metterli in scena, eseguire nuovamente i comandi. Se ci sono problemi con il tuo file di configurazione, verranno visualizzati in quel momento.

+2

'git diff --cached (or --staged)': confronta i file che sono gestiti/indicizzati. –

+2

['git diff --staged': confronta i file che sono messi in scena.] (Http://roman.st/Article/What-makes-Git-difficult-someone-coming-Mercurial) –