Git журнал одной ревизии - программирование

Git журнал одной ревизии

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

4b9b3361

Ответ 1

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

git show c

(где c - идентификатор фиксации)

Ответ 2

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

git log -1 -U c

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

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 <[email protected]>
Date: Thu Aug 2 {time-stamp}

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

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

Ответ 3

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