Wenn man git und ein permanentes Versionierungsschema benutzt, hat man irgendwann einen riesigen Pool an Tags.

Auf der Arbeit sind wir bei einem Projekt bspw. schon bei 1.212.3 angelangt. Da ich mit sechs oder mehr Kollegen arbeite, hole ich dabei nicht jeden Tag ab, den einer meiner Kollegen pushed. Trotzdem muss ich natürlich das Schema einhalten, möchte aber nicht jedes Mal wenn ich etwas deployen möchte, in Gitlab nach dem letzten Tag suchen müssen, der von irgendjemandem gepushed wurde.

Ich habe dafür nun ein kleines Skript geschrieben, das mir das Suchen in Gitlab erspart.
Ich habe es auf Linux Ubuntu und Mac benutzt. Für Mac müsst ihr noch die coreutils installieren, um gsort verwenden zu können.

Ich habe die coreutils via homebrew installiert:
$ brew install coreutils

Öffnet nun eure globale .gitconfig (oder die projektbasierte .gitconfig) und fügt den folgenden Code ein.

Linux

[alias]
    lastTag = !git ls-remote --tags \"$(git remote get-url origin)\" | sort -t / -k 3 -V | tai$

Mac

[alias]
    lastTag = !git ls-remote --tags \"$(git remote get-url origin)\" | gsort -t / -k 3 -V | tai$

 

Ab jetzt könnt ihr euer Terminal öffnen und mit dem folgenden Befehl den zuletzt gepushten Tag abfragen
$ git lastTag