webentwicklung-frage-antwort-db.com.de

git log zeige nur eine Commit-ID

Ich brauche Hilfe. Kann nur eine Commit-ID angezeigt werden? Da git log -3 das Protokoll von 1 - 3 anzeigt, möchte ich nur 3 anzeigen. Welcher mögliche Befehl wird dafür passen?

Ich benutze den Befehl

       git log -3 --pretty=format:"%h"

das Ergebnis ist

       ffbef87
       cf0e073
       1c76c5d

Ich möchte nur 1c76c5d anzeigen.

49
rkevx21

Sie können git shownter Bezugnahme auf das dritte übergeordnete Element von Ihrem aktuellen Commit (d. h. dem zweiten Vorfahren von HEAD). Ebenfalls, git show akzeptiert den gleichen Formatstring wie git log:

git show HEAD~2 --pretty=format:"%h" --no-patch

Update ( 01.12.2016 )

Ein noch besserer Weg wäre, die rev-parseSanitärbefehl mit dem --short Option zur Ausgabe der abgekürzten (7 Zeichen) Commit-ID:

git rev-parse --short HEAD~2

Oder Sie können auch die genaue Länge der Festschreibungs-ID angeben:

git rev-parse --short=4 HEAD~2
50

Dafür gibt es ein Tool:

git log -3 --pretty=format:"%h" | tail -n 1

Sie können n Zeichen des Hashes (anstelle des Standardzeichens) mit dem folgenden Flag einfügen:

--abbrev=n 

Relevante Teile der Unix-Philosophie

1) Lassen Sie jedes Programm eine Sache gut machen. Um einen neuen Job zu erledigen, müssen Sie alte Programme neu erstellen, anstatt sie zu komplizieren, indem Sie neue "Funktionen" hinzufügen.

2) Erwarten Sie, dass die Ausgabe jedes Programms die Eingabe eines anderen, noch unbekannten Programms wird. Überfüllen Sie die Ausgabe nicht mit irrelevanten Informationen. Vermeiden Sie streng kolumnare oder binäre Eingabeformate. Bestehen Sie nicht auf interaktiven Eingaben.

... [d. h.]

  • Schreiben Sie Programme, die eines können und es gut machen.
  • Schreiben Sie Programme, um zusammenzuarbeiten.

https://en.wikipedia.org/wiki/Unix_philosophy

5
DylanYoung

Seit mindestens Version 2.3.8 von git können Sie die Option --skip Verwenden:

   git log -1 --skip 2 --pretty=format:"%h"

Nicht sicher, welche früheren Versionen von Git --skip Unterstützen.

4
Andy