Ich muss den Bericht über alle Commits erhalten, die der Autor gemacht hat. Bisher habe ich das Skript, das den folgenden Befehl umschließt:
git log --pretty=format:"%ad:%an:%d:%B" --date=short --reverse --all --since=2.months.ago --author=Petr
Es funktioniert gut. Es werden jedoch nur die Aktionen für den aktuellen Zweig gemeldet. Gibt es eine Option, mit der die Festschreibungsnachrichten für den Autor aus allen Zweigen protokolliert werden , nicht nur aus der aktuellen?
Mit anderen Worten, kann git eine umgekehrte sortierte (nach Datum / Uhrzeit) Sequenz aller Commits im Repository erstellen und die Protokollinformationen aus dieser Sequenz extrahieren?
Gelöst: (kopiert aus dem Kommentar unten, der sonst versteckt ist)
Das Problem war, dass ich ein Repository und zwei Klone habe, um gleichzeitig an zwei Zweigen zu arbeiten. Ich habe die Änderungen in das Ursprungs-Repository übertragen, aber vergessen, die Änderungen in das geklonte Repository abzurufen. Auf diese Weise schien --all
es nicht zu funktionieren, wenn es für das geklonte Repository verwendet wurde.
git log
akzeptiertcommittish
als erstes Argument:git log mybranch
(und listet alle Zweige auf, mit denen Sie verzweigengit branch
).committish
? Ist es möglich, die Informationen über einen Git-Befehl abzurufen?--all
. Ihr Befehl ist korrektgit rev-list
Parsen,git log --all
ist OK.--all
, aber es funktioniert anscheinend nicht so für mich. Ich verstehe die Erklärung der Hilfe nicht: Stellen Sie sich vor, als wären alle Refs inrefs/
der Befehlszeile als aufgeführt<commit>
.Antworten:
Ihr Befehl ist richtig, da Sie den
--all
Schalter verwenden, der alle Commits aus allen Zweigen gibt. Um die Frage in Ihrem Kommentar zu beantworten, funktioniert es auch in nackten Repositories.quelle
Anstelle von
--all
Ihnen möchten Sie möglicherweise verwenden--branches
, da--all
auchrefs/tags
und enthältrefs/remotes
.quelle