Вы не найдете его напрямую, если этот коммит упакован ( дельта-сжатие ): см. " Git Internals - Packfiles "
Вам необходимо проверитькаждый пакет и посмотрите, есть ли там ваш коммит SHA1:
$ git verify-pack -v .git/objects/pack/pack-978e03944f5c581011e6998cd0e9e30000905586.idx
2431da676938450a4d72e260db3bf7b0f587bbc1 commit 223 155 12
69bcdaff5328278ab1c0812ce0e07fa7d26a96d7 commit 214 152 167
Затем вам нужно будет распаковать этот файл пакета .
Если он не упакован, см. " Git Internals - Git Objects"
$ find .git/objects -type f
.git/objects/01/55eb4229851634a0f03eb265b69f5a2d56f341 # tree 2
.git/objects/1a/410efbd13591db07496601ebc7a059dd55cfe9 # commit 3
Например, коммит 3 имеет SHA1 1a410efbd13591db07496601ebc7a059dd55cfe9
и имеет данные в:
1a/410efbd13591db07496601ebc7a059dd55cfe9
Youзатем можно прочитать содержимое метаданных фиксации с помощью:
# Windows:
perl -MCompress::Zlib -e "undef $/; print uncompress(<>)" < 410efbd13591db07496601ebc7a059dd55cfe9
# Linux
perl -MCompress::Zlib -e 'undef $/; print uncompress(<>)' < 410efbd13591db07496601ebc7a059dd55cfe9
. Вы получите:
commit 349 tree 410efbd13591db07496601ebc7a059dd55cfe9
parent 53316403bc0e36f650796d0afdc0687c52357694
author VonC <VonC@email.com> 1569944592 +0200
committer VonC <VonC@email.com> 1569944592 +0200
This is a commit comment message