Como o SHA gera códigos exclusivos para arquivos grandes no git

Usando o Git Eu não entendo como usar o SHA, você pode gerar apenas um código de 40 dígitos hexadecimais que pode ser mapeado para qualquer arquivo com centenas de linhas.

Do jeito que estou pensando, digamos a string '1' -> 00 ... 01, a string '2' -> 00..02, a string 'a34ed..fc' -> a34ed..fc etc, para que o mapa de hash esteja retornando, é claro que todos os códigos de hash se esgotam muito rapidamente e qualquer string de 41 caracteres estará reutilizando um dos códigos.

Também sei que é sabido que o SHA não garante que sempre será único, mas não vejo como isso chega a ser útil.

questionAnswers(3)

yourAnswerToTheQuestion