Cómo recuperar el hash de confirmación de la última versión disponible en el repository

Sé cómo get el hash de confirmación para la versión actual del repository local ( ¿Cómo recuperar el hash para la confirmación actual en Git? ).

Dado un nombre de twig, posiblemente diferente de la twig de repository local, ¿hay alguna manera de get el hash largo de la última versión disponible en el repository remoto sin hacer realmente un clon o extracción?

git ls-remote (o git remote show pero no es directamente útil aquí) puede usar los mismos protocolos de Git como git clone y git fetch para contactar a otro Git. Estos comienzan por get una list de asignaciones de references a hash, por ejemplo:

 8d7a455ed52e2a96debc080dfc011b6bb00db5d2 HEAD a274e0a036ea886a31f8b216564ab1b4a3142f6c refs/heads/maint 8d7a455ed52e2a96debc080dfc011b6bb00db5d2 refs/heads/master fb549caa12ec67f9448f8f6b29b102ee5ec54c82 refs/heads/next 4b8cb2c9d27c63c844b1d2507b8b0981adfcf397 refs/heads/pu 595ca97928bf3cde17e40ecbbacb65cc3d053a06 refs/heads/todo 

Con clonar y recuperar, van a download cualquier object "interesante", mientras que git ls-remote simplemente los imprime y luego se detiene.

Consulte la documentation para conocer las opciones y detalles adicionales; tenga en count que el argumento del repository puede ser una URL, por lo que ni siquiera necesita un clon para ejecutar.

No sé de una manera de hacerlo directamente usando solo Git localmente. Si está utilizando una herramienta como Bitbucket o GitHub, entonces el website mostrará el último hash de confirmación a la vista.

Una opción para hacer esto localmente sin tener un impacto duradero en nada sería simplemente actualizar su twig de seguimiento. Pero primero, registre el hash de confirmación de la twig de seguimiento. Entonces haz esto:

 git log origin/master # record the SHA-1 hash from HEAD git pull origin master # update the tracking branch # find the SHA-1 hash you want git update-ref refs/remotes/origin/master <original SHA-1 hash of origin/master> 

El truco aquí es restablecer la twig de seguimiento al punto donde estaba cuando comenzó. Ahora tienes el hash que quieres.

Pero pregunta: ¿de qué sirve este hash si no tienes una twig de seguimiento que contenga los commits correspondientes?