В моем репозитории я создал теги, используя следующие команды.Как перечислить все теги Git?
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Как вы можете перечислить все теги в репозитории?
В моем репозитории я создал теги, используя следующие команды.Как перечислить все теги Git?
git tag v1.0.0 -m 'finally a stable release'
git tag v2.0.0 -m 'oops, there was still a major bug!'
Как вы можете перечислить все теги в репозитории?
git tag
должно быть достаточно. См git tag
man page
Вы также:
git tag -l <pattern>
теги с именами, которые соответствуют заданному шаблону (или все, если никакой закономерности не дается).
Ввод «git tag» без аргументов, также перечисляет все теги.
Совсем недавно ("How to sort git tags?", для Git 2.0+)
git tag --sort=<type>
Сортировка в определенном порядке.
Поддерживаемые тип:
- "
refname
" (лексикографический порядок),- "
version:refname
" или "v:refname
" (имена тегов, рассматриваются в качестве версии).Подготовить «-» для отмены порядка сортировки.
Это перечислены как:
Примечание: в git ready article on tagging неодобрительно легкого тега.
Без аргументов git tag создает «легкий» тег, который в основном является ветвью, которая никогда не перемещается.
Легкие теги по-прежнему полезны, хотя, возможно, для обозначения известной хорошей (или плохой) версии или кучу коммитов, которые могут понадобиться вам в будущем.
Тем не менее, вы, вероятно, не хотите нажимать эти виды тегов.Как правило, вы хотите как минимум передать параметр -a для создания тега без знака или подписать тег с помощью ключа GPG с помощью опций -s или -u.
Это, как говорится, Charles Bailey указывает на то, что «git tag -m "..."
» на самом деле означает правильное (без знака) аннотированный тег (опция «-a
»), а не легкий один. Таким образом, вы хорошо справляетесь со своей первоначальной командой.
Это отличается от:
git show-ref --tags -d
какие списки тегов с их фиксаций (см "Git Tag list, display commit sha1 hashes").
Обратите внимание на -d
, чтобы разыменовать объект аннотированных тегов (которые имеют собственный фиксатор SHA1) и отобразить фактическое помеченное коммитом.
Аналогичным образом, git show --name-only <aTag>
будет перечислять тег и связанную с ним фиксацию.
К списку тегов Я предпочитаю:
git tag -n
Флаг -n
отображает первую строку сообщения аннотаций вместе с тегом, или первое сообщение фиксации строки, если тег не примеч.
Вы также можете сделать git tag -n5
, чтобы показать первые 5 строк аннотации.
Попытка сделать git tag
должно быть достаточно, если не пытаться сделать git fetch
, а затем git tag
.
Что ты имеешь в виду? – toto
Я думаю, что он имеет в виду: Запуск команды 'git tag' должен быть достаточно, если вы просто хотите увидеть список доступных тегов. Если вы не можете увидеть теги, которые, по вашему мнению, могут существовать на удаленном компьютере, ваши локальные теги могут не синхронизироваться с удаленным. В этом случае извлеките последние refs/heads из удаленной первой «git fetch», а затем фактический «git tag». Обычно я запускаю один лайнер следующим образом: '$ git fetch -p && git tag'just, чтобы быть уверенным, что я смотрю последние и самые большие. – demisx
Также 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
...
Используется для «hg-тегов Mercurial» Мне нравится, что 'git show-ref' дает мне тег AND revision. – Justin
Это было чрезвычайно полезно для того, чтобы пытаться извлекать информацию о тегах программно. –
Чтобы просмотреть информацию о последних доступных тегов иногда я использую:
git show `git describe` --pretty=fuller
Если вы хотите локально указать имя тега, вам нужно перейти на путь, где у вас есть креа ted tag (локальный путь). Средство, в котором вы разместили свои объекты. Тогда команда типа:
git show --name-only <tagname>
Он покажет все объекты под этим именем тега. Я работаю в Teradata и объект означает вид, таблица т.д.,
А вот как вы находите удаленные теги:
git ls-remote --tags origin
Это, вероятно, стоит добавить, что -m или -F -a означает (если non -a, -s или -u поставляются явно. Вы не можете иметь сообщение тега, не создавая «правильный» объект тега. –
@Charles: хорошая точка. Я обновил свой ответ соответственно – VonC
Возможно, '--name «только» можно также упомянуть здесь, http://stackoverflow.com/a/43870965/54964 –