¿Cómo genera SHA códigos únicos para archivos grandes en git?

Usando Git No entiendo cómo usar SHA puede generar solo un código de 40 dígitos hexadecimales que luego puede asignarse a cualquier archivo que podría tener cientos de líneas de largo.

La forma en que lo pienso, digamos la cadena '1' -> 00 ... 01, la cadena '2' -> 00..02, la cadena 'a34ed..fc' -> a34ed..fc etc., por lo que el mapa de hash regresa a sí mismo, entonces está claro que todos los códigos de hash se agotan muy rápidamente y cualquier cadena de 41 caracteres reutilizará uno de los códigos.

También sé que se sabe que SHA no garantiza que siempre será único, pero no veo cómo se acerca a ser útil.

Respuestas a la pregunta(3)

Su respuesta a la pregunta