web-dev-qa-db-de.com

Wie man ein Git Log Diagramm liest

Im git-Community-Buch heißt es

Eine weitere interessante Sache, die Sie tun können, ist die Visualisierung des Commit-Diagramms mit der Option '--graph', wie folgt:

$ git log --pretty=format:'%h : %s' --graph
* 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

Es wird eine hübsche Darstellung der Commit-Verlaufszeilen in Nice ASCII) geben.

Wie soll ich dieses Diagramm lesen? Wie funktioniert 420eac9 unterscheiden sich von den anderen?

80
michael

Die Sternchen zeigen, wo etwas festgeschrieben wurde:

e1193f8, 5a09431 Und 30e367c Wurden für den linken Zweig festgeschrieben (was ein | Für den rechten Zweig ergab), wohingegen 420eac9 Festgeschrieben wurde der rechte Zweig (ergibt einen | auf dem linken Zweig). Und das ist das, was 420eac9 Anders macht als der Rest: Es ist das einzige Commit für den richtigen Zweig.

Der Vollständigkeit halber:

  • d6016bc War der Verzweigungspunkt
  • 5e3ee11 Ist das Zusammenführungs-Commit
  • 2d3acf9 Ist das erste Festschreiben nach dem Zusammenführen
97
eckes

420eac9 Befindet sich in einem anderen Zweig als die 3 Commits "darunter". Die Zweige gingen nach d6016bc Auseinander und wurden in 5e3ee11 Zusammengeführt.

17
Ilkka