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

Покажите, к какому тегу git вы подключаетесь?

У меня возникли проблемы с выяснением, какой тег в настоящий момент проверен.

Когда я это сделаю:

git checkout tag1
git branch

Я не могу найти, какой тег я включен. Это только журналы:

* (no branch)
master

Можно ли узнать, какие теги проверены? В приведенном выше примере это будет tag1.

4b9b3361

Ответ 1

Изменить: Jakub Narębski имеет больше git -fu. Следующая намного более простая команда отлично работает:

git describe --tags

(Или без --tags, если вы отметили аннотированный тег. Мой тег является легким, поэтому мне нужны -tags.)

исходный ответ следует:

git describe --exact-match --tags $(git log -n1 --pretty='%h')

У кого-то с более git -fu может быть более элегантное решение...

Это означает, что git-log сообщает журнал, начиная с того, что вы проверили. %h печатает сокращенный хеш. Затем git describe --exact-match --tags находит тег (легкий или аннотированный), который точно соответствует этому фиксации.

Синтаксис $() предполагает, что вы используете bash или аналогичный.

Ответ 2

Это сработало для меня git describe --tags --abbrev=0

Ответ 3

Когда вы проверяете тег, у вас есть то, что называется "отсоединенная голова" . Обычно Git HEAD commit является указателем на ветку, которую вы в настоящее время проверили. Однако, если вы проверяете что-то, кроме локального ветки (например, тега или удаленной ветки, например), у вас есть "отдельная голова" - вы на самом деле не находитесь в какой-либо отрасли. Вы не должны совершать какие-либо фиксации во время отсоединения.

Хорошо проверить тег, если вы не хотите делать какие-либо изменения. Если вы просто изучаете содержимое файлов или хотите создать свой проект из тега, все в порядке git checkout my_tag и работайте с файлами, если вы не совершаете никаких коммитов. Если вы хотите начать изменять файлы, вы должны создать ветвь на основе тега:

$ git checkout -b my_tag_branch my_tag

создаст новую ветвь с именем my_tag_branch, начиная с my_tag. Это безопасно для фиксации изменений в этой ветке.

Ответ 5

Показать все теги текущего HEAD (или commit)

git tag --points-at HEAD

Ответ 6

git log --decorate

Это скажет вам, какие ссылки указывают на текущую проверку.