files de conteo git en el índice por etapas

Estoy tratando de averiguar cómo contar fácilmente los files en mi índice no comprometido.

He intentado:

git status | grep '#' | wc -l 

pero hay algunas líneas que comienzan con # que no representan files cambiados. Alguien tiene algo mejor? Supuse que tenía que haber una bandera para el git status para hacer esto.

Incluso herramientas como GitX no le permiten seleccionar fácilmente los files / directorys por etapas y ver cuántos de ellos hay.

Si quieres algo que un script puede usar:

git diff --cached --numstat | wc -l

Si quieres algo legible para los humanos:

git diff --cached --stat

Esto funcionó para mí:

git status | grep 'modified:' | wc -l

devuelve un número

Prueba git status -s:

 git status -s | egrep "^M" | wc -l 

M directamente después del inicio de la línea (^) indica un file en etapas. "^ M" sería un file sin registrar pero cambiado.

Por lo que vale, prefiero:

 git diff --stat | tail -n1 

Resultados algo como:

 10 files changed, 74 insertions(+), 123 deletions(-)