как определить файлы/каталоги, которые были добавлены или удалены в коммите git?
Вопрос
Мне нужно написать сценарий, который постепенно отслеживает файлы и каталоги, добавляемые и удаляемые из репозитория git.
Я пытался использовать:
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
Как указывает Исбадави, вы также можете использовать git-whatchanged.Это в значительной степени git-log с конкретным выводом различий:
git whatchanged -n 1
Вам может понравиться --name-status
Однако версия лучше, поскольку она отображает не все хеши больших двоичных объектов, а только удобочитаемые статусы.
Другие советы