Как генерируется 40-значный уникальный идентификатор в git? почему это уникально? - PullRequest
4 голосов
/ 14 марта 2011

Я пытаюсь понять, почему 40-значный идентификатор, используемый в git, является уникальным и надежным.

Также, какие различные входные данные используются для генерации уникального ключа.

1 Ответ

2 голосов
/ 14 марта 2011

Это хэш SHA-1 некоторой информации заголовка и фиксации;см. http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#object-details для подробной информации о хешировании и http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#commit-object для хешируемого объекта коммита.Не гарантируется, что он будет уникальным (поскольку он создается с использованием сопоставления «многие к одному»), но вероятность столкновения настолько мала, что практически равна нулю.Вы должны обращаться с идентификаторами как всегда уникальными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...