As tags do git se aplicam a todas as ramificações?
Eu estou ficando molhado com o git tagging, mas meu background anterior está no Subversion, onde "tags" eram na verdade apenas cópias, não tags "reais" ...
Se eu adicionar uma tag a um repositório do git, ela será aplicada a todas as ramificações ou apenas à atual?
Por exemplo, se atualmente tenho essas ramificações (git branch -v
):
* master deadbeef My master head comment
dev baddfeed My def head comment
E a ramificação atualmente retirada é mestre, como você pode ver. Agora suponha que eugit tag -a TAGNAME
, fazTAGNAME
aplicam-se apenas adeadbeef
(ramo mestre) ou parabaddfeed
(ramo dev) também?
Por exemplo, digamos que eu mude posteriormente para o ramo dev (ou seja, não o ramo em que a tag foi criada) antes de verificar a tag:
git checkout dev
git checkout TAGNAME
Então eu termino com um checkout debaddfeed
ou o checkout da tag (segunda linha) me retornará para o branch master (onde a tag foi criada) e me dará um checkoutdeadbeef
? (Ou terceira opção, o meu entendimento de criar e restaurar tags é muito falho ou simplista demais para que a resposta seja tão simples quanto uma dessas duas opções?)
Além disso, a resposta à minha pergunta muda se eu usar uma tag leve (git tag TAGNAME
) em vez de uma tag anotada?