Ich möchte, dass git alle Tags zusammen mit der vollständigen Annotation oder Commit-Nachricht auflistet. So etwas ist nah:
git tag -n5
Dies macht genau das, was ich will, außer dass es nur bis zu den ersten 5 Zeilen der Tag-Nachricht angezeigt wird.
Ich denke, ich kann nur eine sehr große Anzahl verwenden. Was ist die höchste Zahl, die ich hier verwenden kann? Ist es auf jedem Computer gleich?
UPDATE : Ich hatte viel Zeit, darüber nachzudenken, und jetzt denke ich, dass ich nicht unbedingt die Gesamtheit jeder Nachricht zeigen möchte, wenn einige von ihnen außerordentlich lang sind. Ich hatte nicht wirklich ein besonderes Bedürfnis, das es erforderlich machte, dass ich massive Nachrichten sah (abgesehen von meiner eigenen Neigung, in allem, was ich schreibe, einschließlich Tag-Nachrichten, langwierig zu sein). Die Idee, dass sie mir nicht unbedingt die ganze Nachricht zeigen würde, gefiel mir einfach nicht, da ich das Gefühl hatte, Informationen vor mir zu verbergen. Zu viele Informationen können aber auch eine schlechte Sache sein.
git tag -n
tat es für michgit tag -n
druckt nur die erste Zeile der Anmerkung gemäß der Manpage.Antworten:
Versuchen Sie dies, es werden alle Tags zusammen mit Anmerkungen und 9 Nachrichtenzeilen für jedes Tag aufgelistet:
kann auch verwenden
Wenn bestimmte Tags aufgelistet werden sollen:
(zB zeigt der obige Befehl nur Tags an, die mit "v3" beginnen.)
-l, --list Listet Tags mit Namen auf, die dem angegebenen Muster entsprechen (oder alle, wenn kein Muster angegeben ist). Wenn Sie "git tag" ohne Argumente ausführen, werden auch alle Tags aufgelistet. Das Muster ist ein Shell-Platzhalter (dh mit fnmatch (3) abgeglichen). Es können mehrere Muster angegeben werden; Wenn einer von ihnen übereinstimmt, wird das Tag angezeigt.
quelle
-l
Möglichkeit, nach einem Muster zu filtern. Ich sehe nicht, wie das hier hilfreich wäre. Vermisse ich etwas-l
ist hier völlig überflüssigKurz und bündig. Dadurch werden bis zu 99 Zeilen aus jeder Tag-Annotation / Commit-Nachricht aufgelistet. Hier ist ein Link zur offiziellen Dokumentation für git tag .
Ich denke jetzt, dass die Beschränkung, nur bis zu 99 Zeilen pro Tag anzuzeigen, tatsächlich eine gute Sache ist, da die meiste Zeit, wenn es wirklich mehr als 99 Zeilen für ein einzelnes Tag gäbe, Sie den Rest nicht wirklich sehen möchten die Zeilen würdest du? Wenn Sie mehr als 99 Zeilen pro Tag sehen möchten, können Sie diese jederzeit auf eine größere Zahl erhöhen.
Ich meine, ich denke, es könnte eine bestimmte Situation oder einen bestimmten Grund geben, massive Tag-Nachrichten zu sehen, aber an welchem Punkt möchten Sie nicht die gesamte Nachricht sehen? Wann hat es mehr als 999 Zeilen? 10.000? 1.000.000? Mein Punkt ist, dass es normalerweise sinnvoll ist, die Anzahl der Zeilen, die Sie sehen würden, zu begrenzen, und mit dieser Zahl können Sie diese festlegen.
Da ich ein Argument für das vorbringe, was Sie im Allgemeinen beim Betrachten Ihrer Tags sehen möchten, ist es wahrscheinlich sinnvoll, so etwas als Alias festzulegen (aus dem Kommentar von Iulian Onofrei unten):
git config --global alias.tags 'tag -n99'
Ich meine, Sie möchten nicht wirklich
git tag -n99
jedes Mal eingeben müssen, wenn Sie nur Ihre Tags sehen möchten, oder? Sobald dieser Alias konfiguriert ist und Sie Ihre Tags sehen möchten, geben Sie einfachgit tags
in Ihr Terminal ein. Persönlich gehe ich lieber einen Schritt weiter und erstelle noch mehr abgekürzte Bash-Aliase für alle meine häufig verwendeten Befehle. Zu diesem Zweck können Sie Ihrer .bashrc-Datei Folgendes hinzufügen (funktioniert unter Linux und ähnlichen Umgebungen):alias gtag='git tag -n99'
Wann immer Sie Ihre Tags sehen möchten, geben Sie einfach ein
gtag
. Ein weiterer Vorteil des Alias-Pfads (entweder Git-Aliase oder Bash-Aliase oder was auch immer) besteht darin, dass Sie bereits eine Stelle eingerichtet haben, an der Sie weitere Anpassungen vornehmen können, wie Sie persönlich Ihre Tags im Allgemeinen anzeigen lassen möchten (z. B. Sortieren) sie auf bestimmte Weise wie in meinem Kommentar unten, etc). Sobald Sie die Mühe überwunden haben, Ihren ersten Alias zu erstellen, werden Sie feststellen, wie einfach es ist, mehr davon für andere Dinge zu erstellen, die Sie gerne auf benutzerdefinierte Weise bearbeiten möchtengit log
, aber speichern Sie diesen für eine andere Frage / Antwort .quelle
git config --global alias.tags 'tag -n99'
alias gtag='git for-each-ref --format="%(refname:short) %(taggerdate) %(subject) %(body)" refs/tags | sort -V'
Die Antwort von Mark Longair (mit
git show
) kommt dem nahe, was in der Frage gewünscht wird. Es enthält jedoch auch das Commit, auf das das Tag zeigt, sowie den vollständigen Patch für dieses Commit. Da das Festschreiben etwas unabhängig vom Tag sein kann (es ist nur ein Festschreiben, das das Tag zu erfassen versucht), kann dies unerwünscht sein. Ich halte folgendes für etwas schöner:quelle
Es ist alles andere als hübsch, aber Sie könnten ein Skript oder einen Alias erstellen, der ungefähr so funktioniert:
quelle
git for-each-ref refs/tags/ --format='%(refname)'
mitgit tag -l
?git tag
es sich um Porzellan handelt undgit for-each-ref
um Sanitärinstallationen, daher sollte die Ausgabe des letzteren für die Skripterstellung stabiler sein.Nur letzte Tag-Nachricht:
quelle
git cat-file -p <tag> | tail -n +6
Verwenden Sie die Option --format
quelle
Ich bevorzuge dies in der Befehlszeile, aber wenn Ihnen eine Weboberfläche nichts ausmacht und Sie GitHub verwenden, können
https://github.com/user/repo/tags
Sie das "..." neben jedem Tag besuchen und darauf klicken, um dessen Anmerkung anzuzeigen.quelle