Git. Пояснение коммита
При коммите, git создает дерево в котором будет находиться еще 2 папки и файлы. Все это выглядит примерно так:
5 объектов:
- 2 папки (tree)
- 3 файла (blob)
- а так же сам коммит
Вот так делает Git, когда вы создаете коммит. Это ссылка на определенное дерево.
Какие данные находятся в коммите?
Метаданные, например хэш 64f123…….
- Имя и email
- Комментарий коммита
- Родительские коммиты - SHA-1. Каждый следующий коммит ссылается на предыдущий коммит.
- Дерево (Ссылка) - SHA1 хэш определенного дерева
Первый коммит вашего проекта.
Допустим, Вы создали проект, инициализировали в нет git и после этого мы создали первый коммит.
Первый коммит будет называться:
Корневой коммит
Далее мы внесли изменение в проект и внесли еще один коммит:
Новый коммит будет ссылаться на корневой коммит
т.е для нового коммита родительским коммитом будет корневой(первый) коммит. Это позволяет Git сохранять историю изменений и при необходимости откатить проект до стабильного коммита до выявления ошибок.
Git. Указатели
- HEAD - это ссылка на определенный коммит который можно перемещать на любой коммит. Можно двигаться в истории проекта путем перемещения указателя HEAD. Указатель на тек. версию проекта которая находится в вашей working direcotry.