Si vous voulez juste une plaine « Existe-t-il des différences de HEAD? »:
git diff-index --quiet HEAD
Si le code de sortie est 0, alors il n'y avait pas de différence.
Si vous voulez « Quels fichiers ont changé de HEAD? »:
git diff-index --name-only HEAD
Si vous voulez « Quels fichiers ont changé de tête, et de quelle manière ont-ils changé (ajoutés, supprimés, modifiés)? « :
git diff-index --name-status HEAD
Ajouter -M
(et -C
) si vous souhaitez renommer la détection (et copier).
Ces commandes vérifient à la fois le contenu mis en scène (contenu de l'index) et les fichiers de l'arborescence de travail. Des alternatives telles que git ls-files -m
ne vérifient l'arbre de travail que par rapport à l'index (c'est-à-dire qu'ils ne tiennent pas compte du contenu étagé (mais non validé) qui se trouve également dans l'arborescence de travail).
Si vous souciez seulement savoir si quelque chose a changé (pas ceux qui ont changé) voir [Comment puis-je déterminer par programme s'il y a des changements UNCOMMITED ?] (http://stackoverflow.com/q/3878624/193688) –