Если коротко то коммит – это процесс сохранения состояния проекта (объекта, файла) в системе Git.
Каждый раз при создании коммита (сохранении состояния проекта) Git сохраняет его в виде объекта, который содержит указатель на «снимок» (snapshot) подготовленных данных, имя автора и его реквизиты (e-mail), сообщение и указатель на коммит (родителя) или коммиты (родителей), которые являются непосредственными предшественниками этого коммита.
У первоначального коммита проекта родитель отсутствует.
Для коммита, появившегося в результате слияния двух и более веток, обязательны несколько родителей – по количеству сходящихся веток.
Помещая в коммит файл, предоставляя к нему ссылку, Git запоминает новый файл, только если он имеет отличия от предыдущей версии этого файла, который уже присутствует в системе. Git представляет свои данные как, скажем, поток таких «снимков» файла проекта.
Таким образом, можно сделать вывод, что в системе Git, если рассматривать её с точки зрения архитектуры, коммит является узлом ветвящегося древа сохранения данных, в множестве которых запечатлены несовпадающие варианты объектов проекта.
2 комментария
Оставить комментарий