Как отобразить метаданные об одном коммите в git? - PullRequest
39 голосов
/ 01 декабря 2009

Я бы хотел проанализировать метаданные из репозитория git. Я хотел бы получить одну информацию для фиксации, как в

git log --pretty=format:%an HEAD^..HEAD

Проблема в том, что это не работает для первого коммита в репозитории.

git show --pretty=format:%an HEAD^..HEAD

также близко к тому, что я хочу, за исключением того, что я не заинтересован в парсинге реальных различий.

Есть идеи, как заставить git log работать для первого коммита или как отключить git show для отображения контента коммита?

Или есть ли лучший способ получить метаданные о данном коммите?

Ответы [ 3 ]

61 голосов
/ 01 декабря 2009

Укажите тихую опцию, чтобы показать подавление различий.

git show --quiet HEAD

Итак, для вашего примера имя автора:

git show --quiet --pretty=format:%an
5 голосов
/ 19 июля 2012
git --no-pager show -s --format='%an <%ae>' COMMIT

(взято с quora.com )

  • --no-pager подавляет пейджер
  • -s подавляет вывод различий
  • %an имя автора
  • %ae это электронная почта автора
0 голосов

git log -n 1 --format='%an'

-n 1 ограничивает журнал одним коммитом.

Действует так же, как и git show --quiet, хотя я предпочитаю его немного, поскольку он задокументирован на man git-log, а --quiet не документирован на man git-show на 2.17.

Также обратите внимание, что вы можете играть в гольф еще лучше с шоу в короткой форме --quiet:

git show -q --format='%an'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...