2012-06-19 21 views
8

Estoy tratando de obtener git diff para trabajar en Windows 7 de 64 bits. Cuando ejecute los siguientes comandos desde un símbolo del sistema de Windows:git diff y git difftool no hacen nada y no dan salida

C:\temp\mygrit>git diff 

o

C:\temp\mygrit>git difftool 

No me sale la producción y no inicia el programa de externos. Aquí está mi archivo .gitconfig:

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

consigo los mismos resultados si quito todas estas líneas de .gitconfig.

¿Alguna idea de lo que está pasando?

Respuesta

10

Bien, respuesta simple. El comportamiento predeterminado para git diff es mostrar todos los archivos que se han modificado pero no escalonados. Si no tiene archivos modificados, entonces no hay salida.

git difftool usa la salida de git diff, por lo que si no hay salida del comando anterior, gif difftool tampoco hará nada.

Solución: Cambie algunos archivos, pero no los coloque, vuelva a ejecutar los comandos. Si hay problemas con su archivo de configuración aparecerán entonces.

+2

'git diff --cached (o --staged)': compara los archivos que están organizados/indexados. –

+2

['git diff -staged': compara los archivos que están en etapas.] (Http://roman.st/Article/What-makes-Git-difficult-someone-coming-Mercurial) –