Подтвердить что ты не робот

Как перечислить все теги Git?

В моем репозитории я создал теги, используя следующие команды.

git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'

Как вы указываете все теги в репозитории?

4b9b3361

Ответ 1

git tag

должно быть достаточно. См. git tag справочная страница


У вас также есть:

git tag -l <pattern>

Введите теги с именами, которые соответствуют заданному шаблону (или все, если шаблон не указан).
Набрав "git tag" без аргументов, также перечислены все теги.


Совсем недавно ( "Как отсортировать git теги?", для git 2.0 +)

git tag --sort=<type>

Сортировка в определенном порядке.

Поддерживаемый тип:

  • "refname" (лексикографический порядок),
  • "version:refname" или "v:refname" (имена тегов рассматриваются как версии).

Подготовьте "-" для отмены порядка сортировки.


В этом перечислены оба:

  • аннотированные теги: полные объекты, хранящиеся в базе данных git. Они проверены; содержат имя тегатора, адрес электронной почты и дату; иметь сообщение с тегами; и могут быть подписаны и проверены с помощью GNU Privacy Guard (GPG).
  • легкие теги: простой указатель на существующую фиксацию

Примечание: git готовая статья о пометке не одобряет легкий тег.

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

Обычно вы хотите, по крайней мере, передать параметр -a для создания тега без знака или подписать тег с помощью ключа GPG с помощью опций -s или -u.


Как говорится, Charles Bailey указывает, что 'git tag -m "..."' фактически подразумевает правильный (беззнаковый аннотированный) тег (опция '-a'), а не легкий. Итак, вы хорошо знаете свою начальную команду.


Это отличается от:

git show-ref --tags -d

В какой форме перечислены теги с их фиксациями (см. "git Список тегов, отображение хэшей commit sha1).
Обратите внимание на -d, чтобы разыменовать объект аннотированных тегов (которые имеют собственный фиксатор SHA1) и отобразить фактическое зафиксированное сообщение.

Аналогично, git show --name-only <aTag> будет перечислять тег и связанную с ним фиксацию.

Ответ 2

Чтобы указать теги, которые я предпочитаю:

git tag -n

Флаг -n отображает первую строку аннотационного сообщения вместе с тегом или первую строку сообщения фиксации, если тег не аннотирован.

Вы также можете сделать git tag -n5, чтобы показать первые 5 строк аннотации.

Ответ 3

Также git show-ref весьма полезен, так что вы можете напрямую связывать теги с соответствующими коммитами:

$ git tag
osgeolive-6.5
v8.0
...

$ git show-ref --tags
e7e66977c1f34be5627a268adb4b9b3d59700e40 refs/tags/osgeolive-6.5
8f27e65bddd7d4b8515ce620fb485fdd78fcdf89 refs/tags/v8.0
...

Ответ 4

Попробуйте сделать git tag, этого должно быть достаточно, если вы не попытаетесь сделать git fetch, а затем git tag.

Ответ 5

Чтобы узнать подробности о последнем доступном теге, я иногда использую:

git show `git describe` --pretty=fuller

Ответ 6

Если вы хотите проверить локальное имя тега, вам нужно перейти к пути, в котором вы создали тег (локальный путь). Средства, на которых вы положили свои объекты. Затем введите команду:

git show --name-only <tagname>

Он покажет все объекты под этим именем тега. Я работаю в Teradata, а объект означает просмотр, таблицу и т.д.

Ответ 7

И вот как вы находите удаленные теги:

git ls-remote --tags origin