Ich weiß, wie ich zu älteren Commits in einem Git-Zweig zurückkehren kann, aber wie kann ich zum Zustand eines Zweigs zurückkehren, der von einem Tag vorgegeben wird? Ich stelle mir so etwas vor:
git revert -bytag "Version 1.0 Revision 1.5"
Ist das möglich?
git checkout <id> .
Methode aus dieser Antwort .Antworten:
Git-Tags sind nur Zeiger auf das Commit. Sie verwenden sie also genauso wie HEAD, Verzweigungsnamen oder Commit-Sha-Hashes. Sie können Tags mit jedem git-Befehl verwenden, der Commit- / Revisionsargumente akzeptiert. Sie können es mit versuchen
git rev-parse tagname
, um das Commit anzuzeigen, auf das es zeigt.In Ihrem Fall haben Sie mindestens diese beiden Alternativen:
Setzen Sie den aktuellen Zweig auf ein bestimmtes Tag zurück:
Generieren Sie oben ein Revert-Commit, um zum Status des Tags zu gelangen:
Dies kann jedoch zu Konflikten führen, wenn Sie Merge-Commits haben.
quelle
Verwenden Sie git reset :
(unter der Annahme, dass die angegebene Zeichenfolge das Tag ist).
quelle
Sie können Git Checkout verwenden.
Ich habe die akzeptierte Lösung ausprobiert, aber einen Fehler erhalten.
warning: refname '<tagname>' is ambiguous'
Wie in der Antwort angegeben, verhalten sich Tags jedoch wie ein Zeiger auf ein Commit. Wie bei einem Commit-Hash können Sie das Tag einfach auschecken. Der einzige Unterschied besteht darin, dass Sie Folgendes vorwegnehmen
tags/
:git checkout tags/<tagname>
quelle