Жуткий журнал одной ревизии

181

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

zedoo
источник

Ответы:

269

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

git show commit_id
Михал Трыбус
источник
60

Ответ Михала Трыбуса - лучший для простоты. Но если вам не нужен 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, которые хорошо описаны здесь .

SuperFamousGuy
источник
14
Если вы не хотите различий, делайте git show --name-only <sha1>!
мая
16
Если вам просто не нужен diff, используйте git show -s <commit>.
Моеффю
3
Что делает -1? Где это задокументировано?
Алекс
1
@alex Смотрите вывод в git help logразделе «Ограничение коммитов ». Или посмотрите git-scm.com/book/en/v2/… -<number> ограничивает количество коммитов для вывода.
LarsH
14

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

Роберт Мунтяну
источник
4
Что делает -1? Где это задокументировано?
Алекс
4
@Alex: «-1» ограничивает количество отображаемых записей к данному номеру, это стенография для -n 1или --max-number=1и документировано .
derpasaurus
0

Вы можете использовать для фильтрации изменений по описанию коммита:

git log --grep='part_of_description' -p

где git log --grep='part_of_description'выберите коммиты, которые содержат 'part_of_description' и -pпокажите набор изменений каждого коммита

natigon
источник