git custom commit id?

Más bien una pregunta teórica, pero si alguien conoce implementaciones prácticas, me encantaría escucharlas.

Como sabemos, git usa SHA1 para identificadores de commit. Su problema es que no se puede decir nada rápidamente solo mirando esta tecla. Sí, puedes averiguar casi todo sobre este ID de commit de git con la ayuda de git, pero no puedes decir nada con solo mirarlo . Y a veces sería útil.

Si el ID de confirmación era SHA1 + authorid + creation_time, sería más simple de usar.

Estoy seguro de que hay razones simples por las que git no tiene este tipo de identificación de confirmación, pero no sé cuáles. ¿Alguien sabe?

No existe una razón fundamental o técnica por la que Git no haya podido adjuntar esta información a cada hash. Sin embargo, no agregaría capacidades que aún no estén presentes, ya que puede simplemente crear una label anotada cuyo nombre controle, que contenga la identificación hash de la confirmación deseada, junto con los datos auxiliares que desee insert.

En otras palabras, lo que sugiere podría funcionar, y quizás eliminar la necesidad de algunas tags, a expensas de las ID de hash aún más difíciles de manejar. Si eso es una buena compensación (una mejora sobre la situación actual) es una cuestión de opinión. 🙂

(Para una descripción de lo que Git, o cualquier otro VCS similar, requiere del hash, vea el capítulo 4, Distribución de repositorys, de mi libro de progreso extremadamente lento ).