Atualmente, estou trabalhando com um repositório que possui várias ramificações.
Quando crio uma tag, essa tag se refere ao ramo então atual?
Em outras palavras: sempre que crio uma marca, preciso mudar para o ramo desejado e marcar dentro desse ramo para que a marca se refira àquele ramo naquele momento?
Tags e ramificações não são completamente relacionadas, pois as tags se referem a um commit específico, e o branch é uma referência em movimento ao último commit de um histórico. Os ramos vão, as etiquetas ficam.
Portanto, quando você marca um commit, o git não se importa com o commit ou o ramo que está marcado, se você fornecer a ele o SHA1 do que você deseja marcar.
Eu posso até marcar consultando um ramo (ele marcará a ponta do ramo) e depois digo que a dica do ramo está em outro lugar (
git reset --hard
por exemplo) ou exclua o ramo. A tag que eu criei, no entanto, não será movida.fonte
Ao chamar apenas
git tag <TAGNAME>
sem parâmetros adicionais, o Git criará uma nova tag a partir do seu HEAD atual (ou seja, o HEAD do seu ramo atual). Ao adicionar confirmações adicionais a este ramo, o ramo HEAD acompanhará esses novos comprometimentos, enquanto a tag sempre se refere ao mesmo commit.Ao ligar,
git tag <TAGNAME> <COMMIT>
você pode até especificar qual confirmação usar para criar a tag.Independentemente disso, uma tag ainda é simplesmente um "ponteiro" para um determinado commit (não um branch).
fonte
Podemos criar uma tag para alguns commit anteriores:
por exemplo:
fonte
Se você quiser marcar o ramo em que está, digite:
e empurre o ramo com:
fonte
Se você deseja criar uma tag a partir de um ramo que é algo como
release/yourbranch
etc, então você deve usar algo comoApós criar a tag adequada, se você deseja enviar a tag para remoto, use o comando
fonte