Если вы просто хотите получить простое «Есть ли отличия от HEAD?»:
git diff-index --quiet HEAD
Если код выхода равен 0, то различий не было.
Если вы хотите«Какие файлы изменились с HEAD?»:
git diff-index --name-only HEAD
Если вы хотите «Какие файлы изменились с HEAD и каким образом они изменились (добавлены, удалены, изменены)?»:
git diff-index --name-status HEAD
Добавьте -M
(и -C
), если требуется обнаружение переименования (и копирования).
Эти команды будут проверять как поэтапное содержимое (что находится в индексе), так и файлыв рабочем дереве.Альтернативы, такие как git ls-files -m
, будут проверять только рабочее дерево по индексу (т. Е. Они будут игнорировать любое поэтапное (но незафиксированное) содержимое, которое также находится в рабочем дереве).