Inicio·Comandos de terminal

git diff

git

Uso

git diff [--staged] [<commit>] [-- <path>]

Muestra solo los cambios que aún no has preparado; por eso parece vacío justo después de git add: usa --staged.

Opciones habituales

OpciónSignificado
--stagedcompare the staged snapshot with HEAD (same as --cached)
--statsummary of files and line counts instead of the patch
-wignore whitespace changes
--name-onlylist changed paths only
<a>...<b>changes on b since it forked from a
-- <path>restrict to a path; the -- keeps it from being read as a branch

Ejemplos

git diff

shows only what is NOT staged yet

git diff --staged

shows what git commit would record

git diff main...feature

the work feature added since it left main

Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q. ¿Qué hace git diff?

Muestra solo los cambios que aún no has preparado; por eso parece vacío justo después de git add: usa --staged.

Q. ¿Cómo se escribe?

git diff [--staged] [<commit>] [-- <path>] — los corchetes marcan lo que puedes omitir.

Q. ¿Cuántas opciones vale la pena saber?

Aquí van 6; la lista completa está en man git. Este comando está en git.

Comandos relacionados

página man: man git-diff