Si lo que desea es un claro: “¿Hay diferencias de CABEZA?”:
git diff-index --quiet HEAD
Si el código de salida es 0, entonces no hubo diferencias.
Si desea “¿Qué archivos han cambiado desde CABEZA?”:
git diff-index --name-only HEAD
Si desea “¿Qué archivos han cambiado desde la cabeza, y de qué manera han cambiado (añadido, eliminado, cambiado)? “:
git diff-index --name-status HEAD
Añadir -M
(y -C
) si desea cambiar el nombre (y copiar) la detección.
Estos comandos verifican tanto el contenido en etapas (lo que está en el índice) como los archivos en el árbol de trabajo. Alternativas como git ls-files -m
solo verificarán el árbol de trabajo contra el índice (es decir, ignorarán cualquier contenido por etapas (pero no confirmado) que también esté en el árbol de trabajo).
Si sólo se preocupa de saber si algo ha cambiado (no cuáles han cambiado) veo [¿Cómo mediante programación determinar si hay cambios uncommited ?] (http://stackoverflow.com/q/3878624/193688) –