Получить информацию о объекте фиксации SHA-1?

Я искал интересующую вас тему в журнале фиксации:

$ git log --pretty=oneline | grep -i ...

$SHA1 < ... commit message ... >

Теперь у меня есть SHA1, и я хочу знать информацию о файлах, затрагивающих это SHA1 и, возможно, позже diff их со своим родителем. Как я могу это сделать?

Ответ 1

git show <SHA1> будет отображаться дата фиксации, автор, родительский элемент и diff файлов, которые были изменены с фиксации родителя.

Ответ 2

git show --no-patch --oneline <SHA1>
git show --no-patch <SHA1>

Это ответ на Просмотр определенного обязательства Git который не имеет ответного окна, поскольку он был отмечен как дубликат этого вопроса. Некоторые из людей, которые ищут ответ на вышеупомянутый вопрос, скорее всего, будут следовать ссылке и искать ответ здесь.

Оба вопроса касаются получения информации о фиксации из его кода SHA1.

Некоторое время, когда вы идентифицировали фиксацию по его коду SHA1, вам нужно знать все об этом: все измененные файлы, каковы фактические изменения и т.д.

Другой вопрос более конкретный. У кого-то была подозрительная строка программного обеспечения в файле и отследила его до определенного кода SHA1, используя "git wame". Затем они просто хотели знать, какое изменение программного обеспечения в человеческих терминах ввело эту линию. Нет никакого интереса к знанию всех других измененных файлов, отсутствию интереса к получению полного разброса файлов или даже к тому, чтобы получить diff этого одного файла. Это просто знание того, какое изменение ввело строку кода.

Вместо информации типа

c27feeaa9b2c6270ff559b21eaf9f1e0317676a7

нам нужна информация типа

Humanitarian Aid Feature

или

Left handed Thread Fix

Для этого используйте

git show --no-patch --oneline <SHA1>

где Git show --no-patch (то есть с опцией -no-patch) является ключом к ответе на вопрос eykanal Просмотр определенного Git commit

Использование

git show --no-patch <SHA1>

если вы хотите получить информацию об авторе и дате.