如何读取git log图

在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 

它会给出提交历史logging行的相当不错的ASCII表示。

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

星号表示发生了什么事情:

e1193f830e367c被分配到左分支(产生一个|右分支),而420eac9被分配到右分支(产生一个|左分支)。 就是420eac9与其余部分不同的地方:它是对分支唯一的承诺。

为了完整:

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

420eac9与其下的3个提交不同的分支上。 d6016bc以后分支d6016bc5e3ee11合并。