So come ripristinare i commit più vecchi in un ramo Git, ma come faccio a tornare allo stato di un ramo dettato da un tag? Immagino qualcosa di simile:
git revert -bytag "Version 1.0 Revision 1.5"
È possibile?
So come ripristinare i commit più vecchi in un ramo Git, ma come faccio a tornare allo stato di un ramo dettato da un tag? Immagino qualcosa di simile:
git revert -bytag "Version 1.0 Revision 1.5"
È possibile?
git checkout <id> .
metodo da questa risposta .
Risposte:
I tag Git sono solo puntatori al commit. Quindi li usi allo stesso modo di HEAD, nomi di rami o commit sha hash. Puoi usare i tag con qualsiasi comando git che accetti argomenti di commit / revisione. Puoi provarlo con git rev-parse tagname
per visualizzare il commit a cui punta.
Nel tuo caso hai almeno queste due alternative:
Reimposta il ramo corrente su un tag specifico:
git reset --hard tagname
Genera il commit di ripristino in alto per portarti allo stato del tag:
git revert tag
Tuttavia, questo potrebbe introdurre alcuni conflitti se si dispone di commit di unione.
Puoi utilizzare git checkout.
Ho provato la soluzione accettata ma ho ricevuto un errore, warning: refname '<tagname>' is ambiguous'
Ma come afferma la risposta, i tag si comportano come un puntatore a un commit, quindi come faresti con un hash di commit, puoi semplicemente controllare il tag. L'unica differenza è che lo anteponi con tags/
:
git checkout tags/<tagname>