¿El git abreviado SHA-1 hash se expande automáticamente cuando se usa% h en el formatting?

Sé que lo siguiente expandirá automáticamente el hash SHA-1 porque la documentation de git lo dice:

git log --abbrev-commit --pretty=oneline 

¿Pero lo siguiente también expande el sha hash impreso si hay más de un hash con los mismos primeros 7 caracteres?

  git log -1 --pretty=format:"%h" 

Aunque el resultado anterior solo muestra la confirmación más reciente, espero que se asegure de que el breve hash SHA-1 sea el time necesario para ser único en todas las confirmaciones del repository local. ¿Es esto cierto?

Sí, imprime una abreviatura inequívoca de cada SHA-1, utilizando más de 7 caracteres si es necesario.

El git repo para git en sí, git://git.kernel.org/pub/scm/git/git.git , actualmente tiene 4 pares de confirmaciones con el mismo hash SHA-1 de 7 dígitos:

 191f24171718e894cb5ba806bc45861ebac95e96 191f241b528c10e242d045bde2cef70fb013a6e5 2e6e3e829f3759823d70e7af511bc04cd05ad0af 2e6e3e82ee36b3e1bec1db8db24817270080424e 3b130ade45c70af63c7692387b65f161770a8ccc 3b130adf9c8b0b37acb0959b84a3222bc22ebcff d53a35020d380c199b010c9884ab15995f8e982b d53a35032a67fde5b59c8a6a66e0466837cbaf1e 

Mirad:

 $ git log -a --pretty=format:%h%n | egrep '398dd4b|d53a350' 398dd4b d53a3503 d53a3502 $ 

Como puede ver, imprime una abreviatura de 7 dígitos para confirmar

 398dd4bd039680ba98497fbedffa415a43583c16 

(que es el compromiso más reciente en la twig master en este momento), pero abreviaturas de 8 dígitos para los commits

 d53a35020d380c199b010c9884ab15995f8e982b d53a35032a67fde5b59c8a6a66e0466837cbaf1e 

(para lo cual una abreviatura de 7 caracteres sería ambigua).

(La versión anterior de esta respuesta menciona que una abreviatura ambigua de 7 caracteres dada en la línea de command, como en git log -n 1 d53a350 , produce un post de error. Esto es correcto, pero no responde a la pregunta real).