Git muestra una list orderada de tags livianas usando un tipo

Tengo un montón de tags livianas que se han creado en un repository que necesito orderar y devolver las 5 tags principales. Entiendo que las tags livianas no se pueden orderar por date creada, ya que son solo un puntero a una confirmación.

Quiero poder (para usar en un script bash) get los últimos 5 (Esto será en order alfanumérico)

Entonces, por ejemplo, si ejecuté estos commands (No es que nunca agregue tags como esta, solo para resaltar lo que quiero):

git tag 1.0.0 git tag 1.4.0 git tag 1.2.0 git tag 1.6.0 git tag 1.7.0 git tag 1.8.0 

Me gustaría una list como esta:

  • 1.8.0
  • 1.7.0
  • 1.6.0
  • 1.4.0
  • 1.2.0

Sé que puedo hacer

 git tag | head -n5 

pero estos no están orderados correctamente, estas son las primeras 5 tags.

Sé que si fueran tags con annotations, podría usar git describe o hacer algo como

 git for-each-ref --sort=-taggerdate \ --format '%(refname:short) %(taggerdate:raw)' refs/tags 

pero esto no funciona para las tags ligeras por la razón antes mencionada.

Entonces, ¿hay alguna manera de enumerar los últimos 5 (no importa si se orderan numéricamente o por date, ya que siempre será el mismo) las tags de peso ligero?

Sé que probablemente podría hacer esto http://sofes.miximages.com/a/21032471/1185180 para convertirlos, pero preferiría no …

 > git tag 1.0.0 1.2.0 1.4.0 1.6.0 1.7.0 1.8.0 > git tag | sort -r | head -5 1.8.0 1.7.0 1.6.0 1.4.0 1.2.0