git diff --cached --name-status
покажет сводную информацию о том, что было подготовлено, поэтому вы можете легко исключить удаленные файлы, например ::10000
M wt-status.c
D wt-status.h
Это указывает на то, что wt-status.c был изменен, а wt-status.h был удален в области подготовки (индекс). Итак, чтобы проверить только файлы, которые не были удалены:
steve@arise:~/src/git <master>$ git diff --cached --name-status | awk '$1 != "D" { print $2 }'
wt-status.c
wt-status.h
Вам придется прыгать через дополнительные обручи, чтобы иметь дело с именами файлов с пробелами в (хотя опция -z для git diff и некоторые более интересные парсинги)