Применяются ли теги git ко всем веткам?
Я промочил ноги с помощью git-тегов, но мой предыдущий фон был в Subversion, где «теги» были на самом деле просто копиями, а не «настоящими» тегами ...
Если я добавлю тег в репозиторий git, будет ли он применяться ко всем веткам или только к текущему?
Например, если у меня в настоящее время есть эти ветви (git branch -v
):
* master deadbeef My master head comment
dev baddfeed My def head comment
И, как вы можете видеть, в настоящее время проверенная ветвь является главной. Теперь предположим, что яgit tag -a TAGNAME
делаетTAGNAME
применять только кdeadbeef
(основная ветка) илиbaddfeed
(ветка разработчика)?
например, скажем, я потом переключаюсь на ветку dev (т.е. не ветку, на которой был создан тег) перед проверкой тега:
git checkout dev
git checkout TAGNAME
Должен ли я в конечном итоге с проверкойbaddfeed
или тег checkout (вторая строка) переключит меня обратно в основную ветку (где был создан тег) и даст мне проверкуdeadbeef
? (Или третий вариант: мое понимание создания и восстановления тегов слишком некорректное или слишком упрощенное, чтобы ответ был таким же простым, как один из этих двух вариантов?)
Кроме того, изменится ли ответ на мой вопрос, если я использую облегченный тег (git tag TAGNAME
) вместо аннотированного тега?