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

300
Nikhil

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

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

1

1 ответ на вопрос

1
A.H.

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

git diff --numstat 

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

git diff --numstat | awk -F '\t' '' 

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

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

git diff --numstat --cached | awk -F '\t' '' git diff --numstat HEAD | awk -F '\t' '' 
В этом `git diff --numstat | awk -F '\ t' '' `, нам нужно указать имя файла или нам просто нужно запустить его где-нибудь в расположении хранилища Nikhil 5 лет назад 0
По умолчанию git покажет вам все измененные файлы. A.H. 5 лет назад 0
`git status` показывает 2 удаленных файла. `git diff --numstat` ничего не показывает Nikhil 5 лет назад 0
Ах, удаленные файлы действительно не отображаются в `--numstat`, только удаленные строки. A.H. 5 лет назад 0
Это потому, что `удаленные` файлы уже есть в индексе. Так что в этом случае вы должны использовать вариант с HEAD. A.H. 5 лет назад 1

Похожие вопросы