Я пытаюсь понять, почему 40-значный идентификатор, используемый в git, является уникальным и надежным.
Также, какие различные входные данные используются для генерации уникального ключа.
Это хэш 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 для хешируемого объекта коммита.Не гарантируется, что он будет уникальным (поскольку он создается с использованием сопоставления «многие к одному»), но вероятность столкновения настолько мала, что практически равна нулю.Вы должны обращаться с идентификаторами как всегда уникальными.