Я должен записать сценарий, который инкрементно отслеживает файлы и каталоги, добавленные и удаленные от мерзавца repo.
Я попытался использовать:
git log -n1 --pretty="format:" --name-only
Но это только говорит мне, какие файлы фиксировались. Это не указывает, было ли это добавлено или удалено.
Какие-либо идеи?
Вариант, который вы ищете, это --name-status
. Как и -name-only
, это на самом деле опция git-diff; git-log принимает их, чтобы определить, как он будет отображать патчи.
git log -n 1 --pretty=oneline --name-status
Или эквивалентно (за вычетом заголовка журнала):
git diff --name-status HEAD^ HEAD
Как указывает isbadawi, вы также можете использовать git-whatchanged. Это в значительной степени git-log с определенным выводом diff:
git whatchanged -n 1
Вам может понравиться версия --name-status
лучше, поскольку она не показывает все хэши больших двоичных объектов, а только читаемые человеком статусы.