Git тянуть журнал изменений - PullRequest
14 голосов
/ 30 июня 2011

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

Сначала я посмотрел на использование git log, но, по-видимому, он возвращает только информацию о последнем коммите:

git log --name-status --max-count=1 --pretty=format:""

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

Есть ли какая-нибудь команда для этого? (Я взаимодействую с Git из PHP, кстати)

Ответы [ 2 ]

26 голосов
/ 30 июня 2011

После тяги ORIG_HEAD указывает на то, где вы были раньше, а HEAD указывает на то, где вы сейчас находитесь.Таким образом, ORIG_HEAD.. означает изменения, внесенные в текущую ветку.--max-count=1 означает только последний коммит, а не то, что вы хотите, как вы обнаружили.

Возможно, вы хотите что-то вроде git diff --name-status ORIG_HEAD.., которое будет выводить односимвольный код состояния и имя файла для каждого измененного файла, агрегируявсе коммиты вместе.Если вы хотите, чтобы оно разбивалось на каждое изменение, вам нужно что-то вроде git log --oneline --name-status ORIG_HEAD..

0 голосов
/ 13 июня 2012

Альтернативная команда:

git pull --stat 
...