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

Resuelto TD_Yan asked hace 8 años • 7 respuestas

¿Cómo muestro cambios no confirmados en Git?

Hice STFW 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 avatar Mar 14 '16 09:03 TD_Yan
Aceptado

Cómo mostrar cambios no confirmados en Git

El comando que estás buscando es git diff.

git diff- Mostrar cambios entre confirmaciones, confirmación y árbol de trabajo, etc.


Estas son algunas de las opciones que expone y que puede utilizar.

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 (compromiso actual).

git diff HEAD:
Imprima las diferencias entre su directorio de trabajo y HEAD.

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

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

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

A continuación se muestra una muestra del resultado de git diff --color-words:

ingrese la descripción de la imagen aquí

CodeWizard avatar Mar 14 '2016 02:03 CodeWizard

Ya has preparado los cambios (presumiblemente ejecutando git add), por lo que para obtener su diferencia, necesitas ejecutar:

git diff --cached

(Un plano git diffsolo mostrará cambios no realizados).

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

Aasmund Eldhuset avatar Mar 14 '2016 02:03 Aasmund Eldhuset

Para mí lo único que funcionó fue

git diff HEAD

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

Aleksandar Pavić avatar Feb 27 '2020 13:02 Aleksandar Pavić

Ciertamente no es la forma correcta de mostrar archivos no confirmados, pero funciona:
git switch <current-branch>

Producción:
ingrese la descripción de la imagen aquí

jrbe228 avatar Jan 31 '2023 20:01 jrbe228