Подтвердить что ты не робот

Максимальный размер сообщения для фиксации

Есть ли ограничение по размеру сообщения Git commit? Я искал через Интернет, но не могу найти никакого упоминания об этом, кроме этот.

Однако этот вопрос не отвечает на мой вопрос.

4b9b3361

Ответ 1

https://github.com/git/git/blob/master/strbuf.h определяет поле len как size_t. Поэтому, по крайней мере, максимальная длина имеет верхнюю границу с максимальным значением size_t на вашей платформе выбора.

Ответ 2

Эмпирически, я думаю, что ответ отрицательный. Это сработало (что сообщение о фиксации ~ 100 МБ):

yes | head -c 100000000 | git commit -F - > /dev/null

Объяснение частей команды:

  • yes повторяет "y \n" навсегда
  • head -c 100000000 принимает только первые 100 000 000 байтов (~ 100 МБ)
  • git commit -F - фиксирует переданное сообщение (это не работает, если вы не выполнили какие-либо изменения для фиксации)
  • > /dev/null скрывает вывод из команды, которая включает в себя Git повторение очень длинного сообщения фиксации