¿Cómo obtengo todas las tags que están asignadas a un file en git?

Necesito saber qué revisión / SHA1 de un file se asoció con una o más tags. En CVS es posible get un resultado similar a esto:

Archivo : abc.txt
Rev : 1.0
Etiquetas : R1_0, R1_1

Rev : 1.1
Etiquetas : R1_2

¿Cómo se obtiene un historial de tags para un file con git?

Editar: Frecuentemente uso esta function para decir qué revisión de un file está en producción. Sé qué versión (label) de software está en producción. En base a esto, me gustaría saber qué revisión de un file dado fue labelda (y también qué tags anteriores se asociaron a esta revisión de file).

En mi ejemplo anterior:
R1_1 estará en producción. Al consultar abc.txt, puedo decir que rev1.0 para abc.txt se usó tanto para R1_0 como para R1_1. (Por lo tanto, es poco probable que un nuevo error en R1_1 fuera causado por abc.txt porque aún es el mismo file que R1_0)

Creo que intentas ser demasiado específico para traducir literalmente conceptos de un sistema de control de revisiones a otro. Preguntaría, "¿cómo ha cambiado R1_1 desde R1_1 ?"

 git log R1_1.. -- abc.txt 

Ahora sabes dos cosas: que ha cambiado y cómo. Mezcle en una -p si quiere ver los cambios, también.

Menos útil, pero lo que pediste:

Para hacer exactamente lo que está pidiendo (que creo que es less útil), y suponiendo que está labelndo correctamente :

 git describe `git log --pretty=format:%H -n 1 abc.txt` 

Eso muestra lo más parecido a un nombre de label para la última confirmación que cambió el file.

En las tags git siempre se asocian con el estado de un proyecto completo , no con la versión de un solo file . Sin embargo, puede get fácilmente una list de todos los files que cambiaron entre versiones con " git diff --name-only R1_0 R1_1 " (o más descriptivo " git diff --stat --summary R1_0 R1_1 ". Puede get el último commit que tocó un file con " git log -1 <file> ".

Pero si quiere encontrar un error, en mi opinión es mucho mejor usar el command git-bisect para encontrar la revisión que introdujo el error. Usted sabría no solo qué file tiene un error, sino qué parte del file lo introdujo (qué cambio lo creó).

¿Qué está tratando de lograr? SHA1 identifica el estado de todo el repository en ese momento.