Git log --graph格式查询

时间:2017-05-13 14:08:02

标签: git logging graph branch

我有这个图表日志(git log --oneline --all --decorate --graph)  在我的testgit存储库中:

* 760711e (HEAD -> dev, master) Initial commit

如果我在dev分支中进行提交,则图形日志将是:

* c710544 (HEAD -> dev) Initial dev
* 760711e (master) Initial commit

我的问题是:如果dev是一个分支,为什么它看起来不像?:

  * c710544 (HEAD -> dev) Initial dev
 /
* 760711e (master) Initial commit

我的意思是,是一个分支,不是吗?为什么它看起来好像是master分支的一部分? 也许是一个愚蠢的问题,但只是好奇心。 :P

2 个答案:

答案 0 :(得分:3)

你可能知道,git中的分支基本上只是提交的指针

你的git log命令现在显示了所有分支指向的所有提交,并且这些提交的组织提交回初始提交。

在您的示例中,master指向初始提交,dev指向具有初始提交作为直接提交的提交

因此git log只显示两个提交,因为它们涵盖了所有现有分支及其历史记录,直到初始提交。

一旦你推进你的主分支(通过在签出时提交)git log将显示更像这样的东西

*      master
| *    dev
|/
*      initial commit

可能是您所期望的

答案 1 :(得分:0)

在此可视化中,分支名称下方和下方的每个提交都在该分支上。因此master有一个提交,而dev有两个。换句话说,两个提交都在dev上。第一次提交是在两个分支上。