Список файлов Git с более чем n модификациями последнего коммита относительно текущего грязного состояния

С огромным хранилищем становится сложно отслеживать изменения.

Github отображает одну статистику для каждого файла (общее количество измененных строк; включая добавленные или удаленные). Можем ли мы перечислить эту статистику (только одно число) на файл для всех файлов (хранилища) в грязном состоянии (незафиксированное и неустановленное) относительно последнего коммита локально в терминале?

1 ответ

Решение

Не напрямую - лучшее приближение

git diff --numstat

который дает два числа: количество добавленных и удаленных строк. Вы можете сложить эти два числа следующим образом:

git diff --numstat | awk -F '\t' '{print $1+$2, $3}'

Разница будет сделана между рабочим деревом и индексом. Вы можете по желанию добавить diff вариант --cached для сравнения индекса и HEAD и просто HEAD для рабочего дерева против сравнения головы. Но "рабочее дерево против HEAD минус индекс" - как я понимаю ваш вопрос - невозможно.

Итак, полные команды:

git diff --numstat --cached | awk -F '\t' '{print $1+$2, $3}'
git diff --numstat HEAD | awk -F '\t' '{print $1+$2, $3}'
Другие вопросы по тегам