Wie benennt man ein Git-Tag um?
Heute war ich auf der Suche durch die Protokolle für ein Projekt und erkannte, dass ich die Fett-Finger-ein-tag-name vor einiger Zeit. Gibt es eine Möglichkeit zum umbenennen der Tags? Google hat nicht aufgedreht, etwas sinnvolles.
Ich weiß, ich könnte prüfen, die getaggte version und machen Sie ein neues tag, ich habe sogar versucht, dass. Aber so scheint es zu schaffen, ein tag-Objekt, das ist nicht ganz richtig. Zum einen,
git tag -l
listet es nicht in Ordnung im Verhältnis zu allen anderen tags. Ich habe keine Ahnung ob von Bedeutung, aber es führt mich zu glauben, dass die neue object-tag ist nicht ganz das, was ich will. Kann ich mit Leben, da ich eigentlich nur darauf, dass die tag-Namen entspricht, der Dokumentation, aber ich würde lieber "richtig", vorausgesetzt, es ist ein Weg, dies zu tun.
git log --oneline --dekorieren --graph
ist hilfreich bei der Reinigung von tags. InformationsquelleAutor der Frage Brandon Fosdick | 2009-06-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, wie ich das umbenennen eines tag -
old
zunew
:Dem Doppelpunkt in der push-Befehl entfernt das tag aus dem entfernten repository. Wenn Sie dies nicht tun, git erstellen der alt-tag auf Ihrem Computer, wenn Sie ziehen.
Schließlich, stellen Sie sicher, dass die anderen Nutzer entfernen Sie die gelöschte tag. Bitte sagen Sie(Mitarbeiter) , führen Sie den folgenden Befehl ein:
InformationsquelleAutor der Antwort Casey Watson
Die ursprüngliche Frage war, wie das umbenennen eines tag, das ist ganz einfach: zuerst erstellen Sie NEUE als alias der ALTE:
git tag NEW OLD
dann löschen ALTER:git tag -d OLD
.Dem Zitat über "die git-Weg" und (in)sanity ist offbase, weil es sprechen über den Erhalt einer tag-name aber Sie verweisen auf einen anderen repo Zustand.
InformationsquelleAutor der Antwort Greg McGary
Zusätzlich zu den anderen Antworten:
Erste, Sie brauchen, um zu bauen ein alias der alten tag-name, der auf die ursprünglichen commit:
Dann löschen Sie die alte lokal:
Löschen Sie dann den tag auf remote-Standort(E):
Schließlich müssen Sie Ihre neue tag an den remote-Standort. Bis Sie dies getan haben, der neue tag(s) nicht Hinzugefügt werden:
Durchlaufen, das für jeden remote-Standort.
Sich bewusst sein, der Auswirkungen, die ein Git-Tags ändern, die die Verbraucher von einem Paket!
InformationsquelleAutor der Antwort kaiser
Wenn es veröffentlicht ist, kann man nicht löschen ( ohne zu riskieren, wird geteert und gefedert, das ist). Die "git-Weg' ist zu tun:
Alternativ
Es ist so verrückt, weil:
Alle mit freundlicher Genehmigung von der Handbuchseiten
InformationsquelleAutor der Antwort Robert Munteanu
Diese wiki-Seite hat diese interessante one-liner, die uns daran erinnert, dass wir schieben mehrere refs:
So ist die Idee zu schieben:
<new-tag>
für jeden commit referenziert<old-tag
>:<refs/tags/old-tag>:<refs/tags/new-tag>
,<alt-tag>
::<refs/tags/old-tag>
Siehe als Beispiel "Ändern Namenskonvention von tags in einem git-repository?".
InformationsquelleAutor der Antwort VonC
Als add-on zu den anderen Antworten, habe ich einen alias Hinzugefügt haben, zu tun es alle in einem Schritt, mit einem mehr vertraut *nix-Befehl verschieben fühlen. Argument 1 ist der alt-tag-name, argument 2 ist der Namen für einen neuen tag.
Verwendung:
InformationsquelleAutor der Antwort Jared Knipp
Für die Abenteurer, es kann getan werden, in einem einzigen Befehl:
InformationsquelleAutor der Antwort wolfc
Ist der einfache Teil ist das umbenennen von lokalen-tags. Der härtere Teil ist, der entfernten.
Die Idee hinter diesem trick ist, duplizieren Sie die alt-tag - /branch-zu einem neuen und den alten entfernen, ohne Kasse.
Remote-Tags umbenennen /Remote-branch → tag-Konvertierung: (Hinweis:
:refs/tags/
)Remote-branch umbenennen /Remote-tag → Zweig-Konvertierung: (Hinweis:
:refs/heads/
)Ausgabe umbenennen eines remote-tag:
InformationsquelleAutor der Antwort zionyx