Я знаю, як повернутися до старих комітів у гілці Git, але як повернутися до стану гілки, продиктованого тегом? Я передбачаю щось подібне:
git revert -bytag "Version 1.0 Revision 1.5"
Чи можливо це?
Я знаю, як повернутися до старих комітів у гілці Git, але як повернутися до стану гілки, продиктованого тегом? Я передбачаю щось подібне:
git revert -bytag "Version 1.0 Revision 1.5"
Чи можливо це?
git checkout <id> .
методом із цієї відповіді .
Відповіді:
Теги Git - це лише вказівники на коміт. Таким чином, ви використовуєте їх так само, як і HEAD, імена гілок або фіксуєте хеші sha. Ви можете використовувати теги з будь-якою командою git, яка приймає аргументи коміту / редагування. Ви можете спробувати, git rev-parse tagname
щоб відобразити коміт, на який вказує.
У вашому випадку у вас є принаймні ці дві альтернативи:
Скиньте поточну гілку до певного тегу:
git reset --hard tagname
Згенеруйте повернення коміту зверху, щоб перейти до стану тегу:
git revert tag
Це може спричинити деякі конфлікти, якщо у вас є коміти злиття.
Ви можете використовувати git checkout.
Я спробував прийняте рішення, але отримав помилку, warning: refname '<tagname>' is ambiguous'
Але, як зазначено у відповіді, теги поводяться як вказівник на коміт, тому, як і з хешем коміту, ви можете просто перевірити тег. Єдина відмінність полягає в тому, що ви передмовляєте його до tags/
:
git checkout tags/<tagname>