如何读取 git 日志图

Git 社区的书上说

您可以做的另一件有趣的事情是使用‘—— graph’选项可视化提交图,如下所示:

$ 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与其他图表有什么不同?

40339 次浏览

420eac9是在一个不同的分支上,而不是3提交“低于”它。分支在 d6016bc后发散,在 5e3ee11中合并。

星号表示犯罪地点:

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

For the sake of completeness:

  • d6016bc是分支点
  • 5e3ee11是合并提交
  • 2d3acf9 is the first commit after merging