В моем репо, как долго должен длиться самый длинный префикс хеша, чтобы предотвратить любое наложение?

--abbrev-commit Флаг может быть использован в сочетании сgit log а такжеgit rev-list чтобы показывать частичные префиксы вместо полных 40-символьных хэшей SHA-1 объектов фиксации. СогласноPro Git book,

по умолчанию он использует семь символов, но при необходимости делает их длиннее, чтобы SHA-1 оставался однозначным [...]

Кроме того, короткие SHA имеют длину не менее 4 символов. Тем не менее, согласно книге Pro Git,

Как правило, от восьми до десяти символов более чем достаточно, чтобы быть уникальными в рамках проекта.

Например, ядро ​​Linux, которое представляет собой довольно большой проект с более чем 450 тыс. Коммитов и 3,6 млн. Объектов, не имеет двух объектов, чьи SHA-1 перекрываются больше, чем первые 11 символов.

Поскольку длина самого длинного префикса, необходимого для предотвращения какого-либо перекрытия между всеми хэшами префиксов объектов фиксации (11 в случае ядра Linux), является приблизительным показателем размера репо, я хотел бы программно определить соответствующее количество в мой собственный локальный репозиторий. Как я могу это сделать?

Ответы на вопрос(2)

Ваш ответ на вопрос