git compte les fichiers dans l’index par étapes

J’essaie de comprendre comment compter facilement les fichiers dans mon index non engagé.

J’ai essayé:

git status | grep '#' | wc -l 

mais il y a quelques lignes qui commencent par # qui ne représentent pas les fichiers modifiés. Quelqu’un a quelque chose de mieux? Figuré il devait y avoir un drapeau pour le git status pour faire cela.

Même des outils tels que GitX ne vous permettent pas de sélectionner facilement les fichiers / répertoires par étapes et d’en voir le nombre.

Si vous voulez quelque chose, un script peut utiliser:

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

Si vous voulez quelque chose lisible par l’homme:

git diff --cached --stat

Cela a fonctionné pour moi:

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

il retourne un nombre

Essayez le statut git -s:

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

M directement après le début de la ligne (^) indique un fichier mis en scène. “^ M” serait un fichier non mis en scène mais modifié.

Pour ce que ça vaut, je préfère:

 git diff --stat | tail -n1 

Sort quelque chose comme:

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