У меня нет аккуратный ответ на этот вопрос, но вы можете создать псевдоним оболочки что-то вроде этого:
for t in $(git tag -l)
do
printf "%-16s" $t
echo `git show -s --pretty=format:"%h %ad | %s%d [%an]" --date=short $t^{}`
done
... который на главном хранилище мерзавца будет производить выход, как:
v1.7.9 828ea97 2012-01-27 | Git 1.7.9 (v1.7.9) [Junio C Hamano]
v1.7.9-rc0 eac2d83 2012-01-06 | Git 1.7.9-rc0 (v1.7.9-rc0) [Junio C Hamano]
v1.7.9-rc1 6db5c6e 2012-01-12 | Git 1.7.9-rc1 (v1.7.9-rc1) [Junio C Hamano]
v1.7.9-rc2 bddcefc 2012-01-18 | Git 1.7.9-rc2 (v1.7.9-rc2) [Junio C Hamano]
v1.7.9.1 90020e3 2012-02-14 | Git 1.7.9.1 (v1.7.9.1) [Junio C Hamano]
v1.7.9.2 78f4c9f 2012-02-22 | Git 1.7.9.2 (v1.7.9.2) [Junio C Hamano]
v1.7.9.3 69f4e08 2012-03-05 | Git 1.7.9.3 (v1.7.9.3) [Junio C Hamano]
v1.7.9.4 a460348 2012-03-12 | Git 1.7.9.4 (v1.7.9.4) [Junio C Hamano]
v1.7.9.5 8ced9c9 2012-03-26 | Git 1.7.9.5 (v1.7.9.5) [Junio C Hamano]
v1.7.9.6 cb2ed32 2012-04-02 | Git 1.7.9.6 (v1.7.9.6) [Junio C Hamano]
v1.7.9.7 d0f1ea6 2012-04-26 | Git 1.7.9.7 (v1.7.9.7) [Junio C Hamano]
неочевидные бит, что для меня является ^{}
суффикс на имени тега, который означает разыменовать любого объекта тегом, чтобы найти коммит он указывает, как описано на git rev-parse
man page.
Это замечательно! Было бы лучше, если бы это можно было сделать, чтобы сначала перечислять новейшие теги: 'git tag', похоже, не имеет такой опции, мне нужно сортировать их с другой командой, или я что-то пропустил? –
@Lohoris: Я не думаю, что это было бы хорошо определено для тегов git tag -l', которые могут указывать на что угодно: объекты тегов, объекты фиксации, объекты blob и т. Д. В блоках, например, нет дат прилагается. Простым решением было бы просто изменить '% ad' на'% ad:% ai' и отсортировать на основе третьего столбца. –
Спасибо за% ai, я много искал, но не мог найти его нигде! –