как определить файлы / каталоги, которые были добавлены или удалены в git commit? - PullRequest
18 голосов
/ 01 апреля 2010

Мне нужно написать скрипт, который постепенно отслеживает файлы и каталоги, добавленные и удаленные из репозитория git.

Я пытался использовать:

git log -n1 --pretty="format:" --name-only

Но это только говорит мне, какие файлы были зафиксированы.Он не указывает, был ли он добавлен или удален.

Есть идеи?

Ответы [ 2 ]

29 голосов
/ 01 апреля 2010

Опция, которую вы ищете: --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 со специфическим выводом diff:

git whatchanged -n 1

Возможно, вам больше понравится версия --name-status, так как она показывает не все хэши больших двоичных объектов, а только понятные человеку состояния.

5 голосов
/ 01 апреля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...