2012-03-06 20 views
59

He cambiado varios archivos en un repositorio de git, pero aún no los he comprometido.git - diff de los cambios actuales antes de confirmar

Puedo obtener una lista de los cambios simplemente invocando git status. Pero, ¿cómo obtengo un listado de las líneas o contenido que he cambiado, además de los nombres de archivo?

Inicialmente pensé en usar git diff, pero parece ser útil solo para comparar los cambios ya realizados.

Normalmente acabo de hacer meld ., pero en este caso estoy conectado a un servidor externo a través de ssh.

Respuesta

83

git diff por defecto muestra la diferencia entre su directorio de trabajo y el índice de ( área de ensayo para la próxima confirmación).

Si ya ha añadido (por etapas ) los cambios en el área de estacionamiento , git diff --staged hace el trabajo. Área de ensayo es la información a partir de la cual se formará la siguiente confirmación por git commit.

P. S. Buena lectura (OMI) para principiantes Git:

+0

¿No se aplica por etapas solo a los archivos no agregados? Pensé que tenías que usar la bandera en caché. – pbond

+3

@peterbond 'man git-diff' dice' --staged es sinónimo de --cached' –

+0

¡Ya veo, gracias! – pbond

3

lo que yo uso para estos casos es:

git diff HEAD * 

Esto mostrará los cambios desde la última confirmación. Aunque de alguna manera funciona más rápido con

git diff . 
Cuestiones relacionadas