Eu sei como reverter para commits mais antigos em um branch Git, mas como faço para reverter para o estado de um branch ditado por uma tag? Eu imagino algo assim:
git revert -bytag "Version 1.0 Revision 1.5"
Isso é possível?
Eu sei como reverter para commits mais antigos em um branch Git, mas como faço para reverter para o estado de um branch ditado por uma tag? Eu imagino algo assim:
git revert -bytag "Version 1.0 Revision 1.5"
Isso é possível?
git checkout <id> .
método desta resposta .
Respostas:
As tags Git são apenas ponteiros para o commit. Então você os usa da mesma maneira que você faz HEAD, nomes de branch ou commit sha hashes. Você pode usar tags com qualquer comando git que aceite argumentos de confirmação / revisão. Você pode tentar com git rev-parse tagname
para exibir o commit para o qual aponta.
No seu caso, você tem pelo menos estas duas alternativas:
Redefina o branch atual para uma tag específica:
git reset --hard tagname
Gere o commit de reversão no topo para chegar ao estado da tag:
git revert tag
Isso pode introduzir alguns conflitos se você tiver commits de mesclagem.
Você pode usar o git checkout.
Tentei a solução aceita, mas obtive um erro, warning: refname '<tagname>' is ambiguous'
Mas, como afirma a resposta, as tags se comportam como um ponteiro para um commit, então como você faria com um hash de commit, você pode simplesmente verificar a tag. A única diferença é que você o inicia com tags/
:
git checkout tags/<tagname>