Ich möchte Metainformationen aus dem Git-Repository analysieren. Ich möchte eine einzelne Information für einen Commit abrufen, wie in
git log --pretty=format:%an HEAD^..HEAD
Das Problem ist, dass dies beim ersten Commit im Repository nicht funktioniert.
git show --pretty=format:%an HEAD^..HEAD
ist auch nah an dem, was ich will, außer dass ich nicht daran interessiert bin, den tatsächlichen Unterschied zu analysieren.
Irgendeine Idee, wie man git log für den ersten Commit zum Laufen bringt oder wie man git show daran hindert, Commit-Inhalte anzuzeigen?
Oder gibt es eine bessere Möglichkeit, Metadaten zu einem bestimmten Commit abzurufen?
Geben Sie die Option quiet an, um das Diff zu unterdrücken.
git show --quiet HEAD
Also für Ihr Beispiel, Name des Autors:
git show --quiet --pretty=format:%an
git --no-pager show -s --format="%an <%ae>" COMMIT
--no-pager
unterdrückt den Pager
-s
unterdrückt die Diff-Ausgabe; kurz für --no-patch
%an
ist der Name des Autors
%ae
ist die E-Mail-Adresse des Autors
(Genommen von quora.com)
git log -n 1 --format="%an"
-n 1
schränkt das Protokoll auf einen einzelnen Commit ein.
Macht das gleiche wie git show --quiet
obwohl ich es ein bisschen bevorzuge, da es auf dokumentiert ist man git-log
während --quiet
ist nicht dokumentiert man git-show
ab 2.17.
Beachten Sie auch, dass Sie mit der Kurzform Golf noch besser mit Show spielen können --quiet
:
git show -q --format="%an"