Git-Protokollausgabeprotokolldatei

83

Ich mache eine Aufgabe in einem Universitätskurs und verwende git als Versionskontrolle für diese Aufgabe. Das Spiel, an dem ich gearbeitet habe, ist abgeschlossen, aber zusammen mit der Hand, in der ich das Git-Protokoll einreichen möchte, zeigt es effektiv meine Fortschritte während der Zeit, in der ich daran gearbeitet habe.

Ich habe das versucht:

git log --stat > log.log

Aber es gibt mir mehr oder weniger nur sehr unlesbare Sachen. Kann mir jemand mit einem Befehl helfen, damit ich eine schöne Formatierung dazu bekomme?

Sebastian
quelle
Worauf soll sich die Ausgabe konzentrieren? Die Commit-Nachrichten? Die Verzweigung? Die Daten? Die Dateien? Die Veränderungen?
GoZoner

Antworten:

133

Ich würde empfehlen, ein anderes Format als das Standardformat zu verwenden. Meine übliche Wahl ist die Zusammenfassung mit dem Diagramm, aber normalerweise reicht eine Zeilenübersicht allein aus.

Option 1: Einzeilige Zusammenfassung mit Grafik

git log --pretty=format:'%h : %s' --graph > log.log

Ergebnisse in:

* 2d3acf9 : ignore errors from SIGCHLD on trap
*   5e3ee11 : Merge branch 'master' of git://github.com/dustin/grit
|\  
| * 420eac9 : Added a method for getting the current branch.
* | 30e367c : timeout code and tests
* | 5a09431 : add timeout protection to grit
* | e1193f8 : support for heads with slashes in them
|/  
* d6016bc : require time for xmlschema

Option 2: Einzeilige Zusammenfassung ohne Grafik

git log --pretty=format:'%h was %an, %ar, message: %s' > log.log

Ergebnisse in:

a6b444f was Scott Chacon, 5 days ago, message: dammit, this is the second time this has re
49d77f7 was Scott Chacon, 8 days ago, message: modified index to create refs/heads if it i
9764edd was Hans Engel, 11 days ago, message: Add diff-lcs dependency
e1ba1e3 was Hans Engel, 11 days ago, message: Add dependency for Open4
0f87b4d was Scott Chacon, 12 days ago, message: merged recent changes

Weitere Formatierungsoptionen finden Sie in den Dokumenten hier

Schnell
quelle
Ich bekomme '-', um Pfade von Revisionen zu trennen
Marian Klühspies
1
Die Formatplatzhalter finden Sie unter git-scm.com/docs/git-log . Suche nach Unterüberschrift "hübsche Formate"
Eric Majerus
Zu Ihrer Information: Ich weiß, dass diese Antwort alt ist, aber der Link "docs" ist defekt. Ich werde mit Sicherheit nicht das tun, was andere mir angetan haben: Stimmen Sie meine Antwort 3, 4 oder 5+ Jahre später ab, da der Link später schlecht wird. Ich habe eine Bearbeitung eingereicht, um auf git-scm.com ( git-scm.com/docs/pretty-formats ) zu verweisen .
Erick Brown
Ungültiger Objektname% h
Codierter Container
10

Versuchen Sie diese Linie

git log > log.txt

Mayur
quelle
1
Dies ist die Basisantwort, alles was ich brauchte.
Jonathan
1
Git-Protokoll allein zeigt Tags und Zweige (alle Zweige, einschließlich Remote-Zweige) auf der Konsole an. Git log> log.txt enthält diese Tag- / Zweiginformationen jedoch nicht. Ich möchte wirklich wissen, wie man sie gleich macht (dh mit Tag / Branch-Infos ausgegeben wird)
Robin Hsu
4
git log --oneline --decorate > log.txt
TEDDY
quelle