git log одной ревизии - PullRequest
       3

git log одной ревизии

158 голосов
/ 03 ноября 2010

У меня есть коммит c. Я хочу получить ревизию этого точного коммита с + метаинформации и никого другого. Есть ли более простой способ, чем git log -p c^..c сделать это?

Ответы [ 3 ]

242 голосов
/ 03 ноября 2010

Вы можете использовать show:

git show commit_id
53 голосов
/ 03 августа 2012

Ответ Михала Трибуса лучший для простоты.Но если вам не нужен diff в выходных данных, вы всегда можете сделать что-то вроде:

git log -1 -U c

Это даст вам журнал фиксации, и тогда вы получите полный контроль над всеми опциями git loggingдля ваших целей автоматизации.В вашем случае вы сказали, что хотите изменить набор.Самый понятный способ сделать это:

git log --name-status --diff-filter="[A|C|D|M|R|T]" -1 -U c

Или, если вы используете версию git больше 1.8.X, это будет:

git log --name-status --diff-filter="ACDMRT" -1 -U c

Этовыдаст вам результаты, подобные:

commit {c}
Author: zedoo <zedoo@stackoverflow.com>
Date: Thu Aug 2 {time-stamp}

   {short description}
D    zedoo/foo.py
A    zedoo/bar.py

Конечно, вы можете отфильтровать любые события, которые сочтете нужными, и отформатировать возвращаемый результат по желанию с помощью традиционных команд git-log, которые хорошо документированы здесь .

13 голосов
/ 03 ноября 2010

git log -p c -1 делает именно это.

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