¿Cómo monitorea Git los files? ¿Cómo sabría si ocurre algo "inesperado"?

Al trabajar en un repository local, ¿cómo sabe Git cuando se modifica un file?

¿Cómo sabría si sucedió algo "inesperado"? Por ejemplo, ¿qué sucede si una parte del disco (SSD) falla y un file se trunca?

Además, ¿cómo sabría si su database local de Git repo (o lo que sea) se corrompió?

Git usa la function hash SHA1 para garantizar la integridad del contenido repo. El identificador de compromiso de 40 caracteres que ves es realmente el resultado de la function hash. Creo que es la combinación de contenido de files, hash de confirmación de padres, post de confirmación, time de confirmación, autor de confirmación que obtiene hash.