Lekka etykieta nie zawiera informacji o dacie. Dlatego zaakceptowana odpowiedź jest niepoprawna. Daty na wyjściu git log --tags --simplify-by-decoration --pretty="format:%ai %d"to daty obiektów, na które wskazują tagi, a nie daty, kiedy same tagi zostały utworzone.
jub0bs
2
@Jubobs ściśle mówiąc, masz rację: poprawna odpowiedź brzmi: „Nie można robić, co chcesz”. Ale prawdopodobnie tego chciał PO.
Ciro Santilli 27 冠状 病 六四 事件 法轮功
Odpowiedzi:
303
W tym linku znalazłem rozwiązanie, które odpowiada moim potrzebom:
Lekka etykieta nie zawiera informacji o dacie. Dlatego ta odpowiedź jest niepoprawna. Daty na wyjściu git log --tags --simplify-by-decoration --pretty="format:%ai %d"to daty obiektów, na które wskazują tagi, a nie daty, kiedy same tagi zostały utworzone.
jub0bs
1
@Jubobs Jeśli Twój system znakowania wykonuje osobne zatwierdzenie, takie jak Maven , lub jeśli na przykład ręcznie zapisujesz nową wersję znacznika w pliku wersji, nie będzie to miało znaczenia, czy jest to lekki znacznik, czy znacznik z adnotacjami . Jest tak, ponieważ zatwierdzenie powiązane z lekkim tagiem będzie zawierało aktualną datę i informacje o komisarzu.
ingyhere
61
git tag -lPokazuje listę wszystkich tagów. --formatArgument może być użyty do zdefiniowania wyjścia niestandardowego. Na przykład:
git tag -l --format='%(refname) %(taggerdate)'
Aktualizacja, na podstawie poniższych komentarzy:
git tag -l --sort=-creatordate --format='%(creatordate:short): %(refname:short)'
Rura rozdzielana, formatowanie daty ISO 8601, posortowane według najnowszych na górze. git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
ingyhere
14
taggerdatenie zawsze jest ustawiony; spróbuj creatordate.
9000
7
Wersja @ingyhere było rzeczą szukałem - git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r- ref dostosowywania datownik
revelt
1
@revelt git> = 2.0 zapewnia parametr sortowania. Wpisz minus, aby odwrócić kolejność. git tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'
git log --tags --simplify-by-decoration --pretty="format:%ai %d"
to daty obiektów, na które wskazują tagi, a nie daty, kiedy same tagi zostały utworzone.Odpowiedzi:
W tym linku znalazłem rozwiązanie, które odpowiada moim potrzebom:
Umieściłem tę komendę w swoim aliasie
~/.alias
, więc teraz za każdym razem, gdy uruchamiamgitshowtagbydate
, dostaję to, czego potrzebowałem.źródło
git log --date-order --graph --tags --simplify-by-decoration --pretty=format:'%ai %h %d'
:-)git log --tags --simplify-by-decoration --pretty="format:%ai %d"
to daty obiektów, na które wskazują tagi, a nie daty, kiedy same tagi zostały utworzone.git tag -l
Pokazuje listę wszystkich tagów.--format
Argument może być użyty do zdefiniowania wyjścia niestandardowego. Na przykład:Aktualizacja, na podstawie poniższych komentarzy:
źródło
git tag -l --format="%(taggerdate:iso8601)|%(refname:short)" | sort -r
taggerdate
nie zawsze jest ustawiony; spróbujcreatordate
.git tag -l --format="%(creatordate:short)|%(refname:short)" | sort -r
- ref dostosowywania datownikgit tag -l --sort=-creatordate --format='%(creatordate:short)|%(refname:short)'