首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何理解git log --graph

如何理解git log --graph
EN

Stack Overflow用户
提问于 2013-11-26 02:13:16
回答 1查看 12.5K关注 0票数 28

我对graphic git log的输出感到相当困惑。

我确实理解每个*都意味着一次提交,无论它是分叉提交、公共提交还是合并提交。我确实理解管道意味着分支。

让我们来看一个简单的图表日志:

首先,红色的管道(最左边的)代表哪个分支?我不认为这是我当前所在的分支,因为在我签出到其他分支后,图形看起来是一样的。此外,它也不表示主分支。

其次,如果最左边的分支代表一个分支,为什么在提交"0e5b5“之后它会改变颜色?

我搜索了一个关于如何阅读git日志图表的教程,不幸的是,我什么也得不到。如果在这个主题上有一些很棒的教程,请随时分享。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-26 02:34:09

Git从当前提交开始查看祖先。分支不是“实体”,它们是(移动的)引用。git log (或gitk,它有不同的配色方案,但类似于git log --graph或tig)无法知道当前分支是分支A还是分支B的后代,它只知道父级。来自man git-log:

   git log -p -m --first-parent
       Shows the history including change diffs, but only from the "main 
       branch"   perspective, skipping commits that come from merged
       branches, and showing full diffs of changes introduced by the merges. 
       This makes sense only when following a strict policy of merging
       all topic branches when staying on a single integration branch.

一定程度上解决了你的顾虑。默认情况下,git日志使用当前签出的提交作为引用(与执行git log HEAD相同

虽然我个人认为git的手册页非常清晰,但你可能想看看gitk或tig。前者是一个图形界面,后者是一个类似终端的最小gitk工具。我会根据我想要做的事情来使用这两种方法。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20200226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档