Что именно Git считает пустым коммитом
Коммит в Git хранит не копию файлов, а снимок состояния проекта и ссылку на предыдущий коммит. При обычном коммите Git сравнивает подготовленные изменения с предыдущим снимком. Если отличий нет, он обычно отказывается создавать запись.
Флаг `--allow-empty` отменяет именно эту проверку: `git commit --allow-empty -m "Метка события"` создаёт новый коммит, хотя снимок файлов остаётся прежним. У записи всё равно есть автор, дата, сообщение и родительский коммит — поэтому история продвигается вперёд, хотя код не меняется.
Зачем добавлять запись без изменений
Такой коммит полезен, когда важно зафиксировать событие в истории проекта, а не правку файлов. Например, команда может запустить настроенный на новые коммиты процесс сборки или проверки, обозначить точку в истории либо оставить запись, связанную с выпуском. Содержание файлов при этом не меняется, но инструменты, следящие за историей, могут увидеть новую запись.
Пустой коммит — не то же самое, что коммит с пустым сообщением: это отдельные свойства. `--allow-empty` разрешает отсутствие изменений; для пустого сообщения предусмотрен другой флаг. Поэтому такой коммит оставляет в журнале не новый код, а новый повод действовать.






