Если вы хотите просмотреть текстовую форму объектов git (коммитов и / или больших двоичных объектов, т.е. содержимого файла) без с использованием git, это будет непросто, особенно если репозиторий упакован. Разве вы не можете установить git локально, в своем домашнем каталоге (или его эквиваленте в MacOS X)?
Формат для свободных объектов, хранящихся в виде файлов в .git/objects/
папке разветвления, например, .git/objects/02/43019ddb4d94114e5a8580eec01baeea195133
(каталог разветвления и имя файла с идентификатором SHA-1 объекта), например, описан. в главе 9.2 «Объекты Git» книги «Pro Git» (доступно онлайн бесплатно) и в главе 7.1 «Как Git хранит объекты» «Книги сообщества Git».
Формат pack , где набор объектов хранится в одном файле в .git/objects/pack/
, например. .git/objects/pack/pack-1db7aa96d95149a4dd341490a3594181a24415ee.pack
, описано в Documentation / technical / pack-format.txt и в Главе 7.5 "Packfile""Git Community Book" (и упомянуто в Chapter 9.4 "Packfiles" из "Pro Git")
Если вы хотите найти последний коммит, сначала посмотрите на файл .git/HEAD
, чтобы найти текущую ветку. Он будет содержать что-то вроде следующего:
ref: refs/heads/master
(если он содержит SHA-1, вы можете принять его как идентификатор последнего коммита и пропустить шаг). Затем проверьте, например, .git/refs/heads/master
чтобы найти, куда указывает ветка. Он будет содержать SHA-1 коммита, например ::1010 *
dbc1b1f71052c084a84b5c395e1cb4b5ae526fcb
Последний (последний) коммит, вероятно, будет в свободном формате; в этом примере это будет файл .git/objects/db/c1b1f71052c084a84b5c395e1cb4b5ae526fcb
.