Wiem, jak powrócić do starszych zatwierdzeń w gałęzi Git, ale jak powrócić do stanu gałęzi podyktowanego tagiem? Wyobrażam sobie coś takiego:
git revert -bytag "Version 1.0 Revision 1.5"
czy to możliwe?
Wiem, jak powrócić do starszych zatwierdzeń w gałęzi Git, ale jak powrócić do stanu gałęzi podyktowanego tagiem? Wyobrażam sobie coś takiego:
git revert -bytag "Version 1.0 Revision 1.5"
czy to możliwe?
git checkout <id> .
metody z tej odpowiedzi .
Odpowiedzi:
Tagi Git to po prostu wskaźniki do zatwierdzenia. Używasz ich w ten sam sposób, jak robisz HEAD, nazwy gałęzi czy zatwierdzanie haszów sha. Możesz używać znaczników z dowolnym poleceniem git, które akceptuje argumenty zatwierdzenia / rewizji. Możesz spróbować, git rev-parse tagname
aby wyświetlić zatwierdzenie, na które wskazuje.
W twoim przypadku masz co najmniej dwie alternatywy:
Zresetuj bieżącą gałąź do określonego tagu:
git reset --hard tagname
Wygeneruj zatwierdzenie przywracania na górze, aby przejść do stanu tagu:
git revert tag
Może to jednak spowodować pewne konflikty, jeśli masz zatwierdzenia scalające.
Użyj resetowania git :
git reset --hard "Version 1.0 Revision 1.5"
(zakładając, że określony ciąg jest tagiem).
Możesz skorzystać z usługi Git Checkout.
Próbowałem zaakceptowanego rozwiązania, ale wyskoczył błąd, warning: refname '<tagname>' is ambiguous'
Ale jak stwierdza odpowiedź, tagi zachowują się jak wskaźnik do zatwierdzenia, więc tak jak w przypadku skrótu zatwierdzenia, możesz po prostu pobrać tag. Jedyna różnica polega na tym, że poprzedzasz go tags/
:
git checkout tags/<tagname>