Wie markiert man einen älteren Commit in Git?
Wir sind neu in Git, und ich möchte ein Tag am Anfang unseres Repositorys setzen. Unser Produktionscode ist derselbe wie das Anfangsrepository, aber wir haben seither Änderungen vorgenommen. Ein Tag am Anfang würde es uns ermöglichen, die Produktion auf einen bekannten, stabilen Zustand zurückzusetzen.
Wie kann man also ein Tag zu einem beliebigen, älteren Commit hinzufügen?
866
3
Beispiel:
Dabei ist "9fceb02" der erste Teil der Commit-ID.
Sie können das Tag dann mit "git push origin v1.2" pushen.
Sie können
git log
verwenden, um alle Commit-IDs in Ihrem aktuellen Zweig anzuzeigen.Es gibt auch ein gutes Kapitel über tagging in dem Pro Git Buch.
Warnung: Dies erzeugt Tags mit dem aktuellen Datum (und dieser Wert wird z.B. auf einer GitHub-Releases-Seite angezeigt). Wenn Sie möchten, dass das Tag mit dem Übergabedatum datiert wird, sehen Sie sich bitte andere Antwort an.
Nur der Code
Details
Die Antwort von @dkinzer erzeugt Tags, deren Datum das aktuelle Datum ist (wenn Sie den Befehl
git tag
ausgeführt haben), nicht das Datum des Commits. Die Git-Hilfe fürtag
hat einen Abschnitt _"On Backdating Tags"_ der besagt:Die Seite "How to Tag in Git" zeigt uns, dass wir die Zeit des HEAD-Commits über extrahieren können:
Wir könnten das Datum eines bestimmten Commits über:
Anstatt jedoch den Commit zweimal zu wiederholen, scheint es einfacher zu sein, einfach den HEAD auf diesen Commit zu ändern und ihn implizit in beiden Befehlen zu verwenden:
Am einfachsten ist dies zu erreichen durch
git tag v1.0.0 f4ba1fc
wobei
f4ba1fc
der Anfang des Hashes der Übergabe ist, die Sie taggen wollen undv1.0.0
die Version ist, die Sie taggen wollen.