Eu li Git ramificação e marcação de melhores práticas e comentários de marcação git - melhores práticas , mas eu não ver uma resposta direta a algo que eu quis saber por um longo tempo:
Por que o Git tem tags? (em vez de apenas ramificações)
Eles parecem ser cidadãos de segunda classe, ou pelo menos "diferentes". Eles não são enviados a menos que você especifique isso explicitamente. Exclusões de tags remotas não causam exclusão em repositórios a jusante.
Esse último ponto foi um problema recentemente, pois alguém colocou um monte de tags de lixo com toneladas de confirmações de outro repositório. Nós poderíamos excluí-los a montante e obter as confirmações, mas isso não se propagaria, e da próxima vez que alguém pressionasse uma tag git push --tags
, eles repuseram essas tags e confirmações de lixo. Então tivemos que garantir que todos os excluíssem.
Quando e por que eu usaria uma tag em vez de uma ramificação?