关于git分支:如何阅读git log graph

How to read git log graph

在 git 社区手册中,它说

Another interesting thing you can do is visualize the commit graph with the '--graph' option, like so:

1
2
3
4
5
6
7
8
9
10
$ 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

It will give a pretty nice ASCII representation of the commit history lines.

我应该如何阅读这个图表? 420eac9 与其他的有何不同?


星号表示提交的内容:

e1193f85a0943130e367c 被提交到左分支(在右分支上产生一个 |),而 420eac9 被提交到右分支(在左边产生一个 |分支)。这就是 420eac9 与其他分支的不同之处:它是对正确分支的唯一提交。

为了完整起见:

  • d6016bc 是分支点
  • 5e3ee11 是合并提交
  • 2d3acf9 是合并后的第一次提交


420eac9 与"下方"的 3 个提交位于不同的分支上。分支在 d6016bc 之后分叉,并在 5e3ee11 中合并。