Предисловие

Низкоуровневые команды

Получение содержимого по хешу:

git cat-file -p <hash|ref>         # для обычных блобов
git cat-file -p <hash|ref>^{tree}  # содержимое дерева или коммита, у которого присутствует дерево

Вывод типа данных по хешу (commit, blob, tree…):

git cat-file -t <hash|ref>

Разыменование символических ссылок в хеш:

git rev-parse <symref>

Получение строения дерева по хешу или символической ссылке:

git ls-tree <hash|ref>        # выведет строение только текущего дерева
git ls-tree -r <hash|ref>     # рекурсивно выведет строение деревьев, только блобы
git ls-tree -r -t <hash|ref>  # рекурсивно выведет строение деревьев, включая и данные по деревьям, и по блобам
1)
понятие в рамках темы