Cómo mostrar los cambios no confirmados en Git y algunas diferencias de Git en detalle

202

¿Cómo muestro cambios no confirmados en Git?

Me STFW'ed , y estos comandos no funcionan:

teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git status
On branch teyan/psservice
Your branch is up-to-date with 'origin/teyan/psservice'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   psservice.c
        modified:   psservice.vcxproj.filters


teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git diff

teyan@TEYAN-THINK MINGW64 /d/nano/repos/PSTools/psservice (teyan/psservice)
$ git diff master
fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
TD_Yan
fuente

Respuestas:

370

Cómo mostrar cambios no confirmados en Git

El comando que estás buscando es git diff.

git diff - Mostrar cambios entre commits, commit y árbol de trabajo, etc.


Estas son algunas de las opciones que expone que puede usar

git diff(sin parámetros)
Imprima las diferencias entre su directorio de trabajo y el índice.

git diff --cached:
Imprime las diferencias entre el índice y HEAD (confirmación actual).

git diff HEAD:
Imprime las diferencias entre tu directorio de trabajo y el HEAD.

git diff --name-only
Mostrar solo los nombres de los archivos modificados.

git diff --name-status
Mostrar solo los nombres y el estado de los archivos modificados.

git diff --color-words
Palabra por palabra diff en lugar de línea por línea.

Aquí hay una muestra de la salida para git diff --color-words:

ingrese la descripción de la imagen aquí


ingrese la descripción de la imagen aquí

CodeWizard
fuente
2
Cuando vea el símbolo del sistema de dos puntos al final, significa que git ha mostrado la primera página: presione Entrar para pasar por los otros cambios (como puede hacerlo con el archivo cat | más)
Puntero NULL
42

Ya ha organizado los cambios (presumiblemente ejecutando git add), por lo que para obtener sus diferencias, debe ejecutar:

git diff --cached

(Un plano git diffsolo mostrará los cambios no organizados).

Por ejemplo: Ejemplo de uso en caché de git diff

Aasmund Eldhuset
fuente
0

Para mí, lo único que funcionó es

git diff HEAD

incluidos los archivos almacenados, git diff --cachedsolo muestra los archivos almacenados.

Aleksandar Pavić
fuente