Como o Git cria hashes de confirmação exclusivos, principalmente os primeiros caracteres?

Acho difícil entender como o Git cria hashes totalmente exclusivos que não podem ser os mesmos, mesmo nos quatro primeiros caracteres. Sou capaz de chamar confirmações no Git Bash usando apenas os quatro primeiros caracteres. É decidido especificamente no algoritmo que os primeiros caracteres são "ultra" únicos e nunca entrarão em conflito com outros hashes semelhantes ou o algoritmo gera todas as partes do hash da mesma maneira?

questionAnswers(2)

yourAnswerToTheQuestion