Git — это контентно-адресуемая база объектов (key-value), где ключ — SHA-хэш содержимого. Четыре типа объектов:
- blob — содержимое файла;
- tree — «каталог»: список blob'ов и других tree с именами и правами;
- commit — снимок: ссылка на корневой tree + родитель(и) + автор + сообщение;
- tag — annotated-тег.
HEAD — указатель на текущую ветку (а ветка — указатель на коммит).