我有这个图表日志(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
答案 0 :(得分:3)
你可能知道,git中的分支基本上只是提交的指针
你的git log命令现在显示了所有分支指向的所有提交,并且这些提交的组织提交回初始提交。
在您的示例中,master指向初始提交,dev指向具有初始提交作为直接提交的提交
因此git log只显示两个提交,因为它们涵盖了所有现有分支及其历史记录,直到初始提交。
一旦你推进你的主分支(通过在签出时提交)git log将显示更像这样的东西
* master
| * dev
|/
* initial commit
可能是您所期望的
答案 1 :(得分:0)
在此可视化中,分支名称下方和下方的每个提交都在该分支上。因此master
有一个提交,而dev
有两个。换句话说,两个提交都在dev
上。第一次提交是在两个分支上。