Показать теги самых последних выпусков (v *) - PullRequest
0 голосов
/ 02 января 2019

Что я хочу

Способ просмотра тегов последних выпусков.

Что я пробовал

Я пошел по короткому пути git describe но я не смог найти способ заставить его работать на всех ссылках (получить теги из всех веток).Я также кратко посмотрел на show-refs, for-each-ref & rev-list, но не смог заставить его делать то, что хотел.

В настоящее время я использую это, чтобы перечислить все теги, начинающиеся с v исортируйте их в порядке убывания, основываясь на refname:

git tag -l v* --sort=-v:refname

, который дает вывод, похожий на

v2.0.32
v2.0.31
v2.0.29
v2.0.28
v2.0.27
v2.0.26
v2.0.25
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.19
v2.0.18
...

, который хорош, за исключением того, что это слишком много.Я хотел бы использовать некоторые из аргументов ограничителя, но я не могу найти ничего, что могло бы ограничить вывод.

1 Ответ

0 голосов
/ 02 января 2019

Решение

Итак, я нашел решение при написании этого вопроса:

git tag -l 'v*' --sort=-v:refname | sed -n 1,5p

Команда piped sed будет печатать только строки с 1 по 5. У меня это псевдоним под git v as git config alias "tag -l 'v*' --sort=-v:refname | sed -n 1,5p", который был изменен на

git config alias.v "! git tag -l 'v*' --sort=-v:refname | sed -n 1,5p"

Обратите внимание на ! впереди, который говорит git интерпретировать его как внешнюю команду (поэтому мы также добавляем git, которыйвы обычно не начинаете свои псевдонимы с git), что позволяет нам транслировать вещи, вместо того, чтобы просто выполнять команды git.


Edit, из @LeGEC в комментариях ниже: вместо sed -n 1,5pВы можете использовать

head -5

для указания диапазона, который, возможно, является более интуитивным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...