So finden Sie den tag-verbunden mit einem bestimmten git commit?
Für releases, die ich in der Regel tag mit so etwas wie v1.1.0. Während mein build-Skript erstelle ich ein fwVersion.c-Datei mit der aktuellen git-info. Derzeit habe ich zu Begehen, und Zweig-info in der Datei, aber ich möchte hinzufügen das tag.
Ist das möglich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie die Dokumentation für
git describe
. Es findet den nächsten tag zu einem bestimmten commit (das ist eine Kennzeichnung, die Punkte zu einem Vorfahren der commit) und beschreibt, dass commit in Bezug auf den tag.Wenn Sie nur wissen wollen, ob der commit wird gezeigt, durch einen tag-dann können Sie die Ausgabe von:
git describe --tags <commit-id>
für unannotated tagsgit describe --all --exact-match `git rev-parse HEAD`
git describe --tags --abbrev=0 REV
wird nützlich sein, wenn Sie nicht wollen, dass die junk-am tag.git describe --all
(für den aktuell ausgecheckten commit) odergit describe --all <commit>
haben immer nur getan, über alles, was ich jemals wollte.Wenn das, was Sie wollen, ist der erste tag mit dem Begehen dann:
gibt die beste Antwort IMO. Wenn Sie häufige tags als mit "git tag --enthält" auf einen alten commit in einem großen repository kann eine Weile dauern, zu laufen und gibt Sie alle tags, die enthalten, die verpflichten.
Diese form der git beschreiben, läuft sehr schnell und gibt Ihnen einen einzigen Ausgabewert, das ist der erste tag mit dem "commit" - und wie weit zurück Ihr Begehen ist.
Wie über dieses?
git tag --points-at <commit-id>
Es gibt Sie alle tags der angegebenen commit (während
git describe
gibt nur einen), und hat keine tags, die auf Nachkommen verpflichtet (wiegit tag --contains
tut).Informationen hierzu finden Sie im Handbuch
Sorry, ich wusste nicht, wie man nur einen Kommentar hinzufügen, damit das posting eine Antwort...
Ich fand die Kombi der beiden tops Antwort zu geben mir, was ich wollte etwa so:
Dies gibt Ihnen die tag(s) werden NUR für die übertragung und für diejenigen, die ohne Anmerkung.
Nützlich, wenn Sie möchten zu finden-tags und keine sorgen über die Strippen, die die Formatierung dann (für Jenkins zum Beispiel).
zB.
$ git describe --tags --exact-match head~2
Gibt Sie: