【问题标题】:How to understand the graph output of `git log --all --graph --oneline --decorate`?如何理解`git log --all --graph --oneline --decorate`的图形输出?
【发布时间】:2017-09-18 20:17:38
【问题描述】:

运行git log --all --graph --oneline --decorate时,提交名称后面括号中的文字是什么意思?

例如

用于为字符串着色的颜色(蓝色、绿色、红色和黄色)分别是什么意思?还有其他可以使用但未在此处显示的颜色吗?

-> 是什么意思?

originB...staging 之间的/ 是什么意思?

在输出的第一行,

  • HEAD -> B... 是否表示分支B... 的 HEAD 指向提交?
  • origin/B... 是什么意思?

在输出的第 5 行

  • tag: 1... 是否意味着类似于第一行中的HEAD -> B...
  • 绿色的staging是什么意思?
  • 什么是它在这一行中有三个用逗号分隔的字符串,而第一行只有两个?

在输出的第 6 行

  • 为什么这里只有一个字符串,小于第一行和第五行?

谢谢。

【问题讨论】:

  • 这里,绿色表示本地分支,红色表示远程分支,黄色表示标签。青色的 HEAD 只是告诉您当前已签出哪个分支。
  • 谢谢。 -> 是什么意思?在originB...staging 之间的/ 是什么意思?
  • ->的含义和来源见stackoverflow.com/questions/25392580/…

标签: git


【解决方案1】:

在 git 中,分支基本上是指向提交的 指针。HEAD 也是指向您已签出的当前分支的指针。

所以 HEAD -> B03701 仅表示您当前位于 B03701 分支上。所以 -> 表示您的 HEAD 指针指向的位置

在快照中,红色表示您的远程分支。这里的 origin/staging 表示我们远程上的暂存分支指向 ee8f77d 提交。这里的 origin 只是表示远程仓库

而绿色表示您的本地分支,所以绿色暂存是您创建的本地分支,它还指向 ee8f77d,这意味着您在暂存分支上所做的 最后一次提交是ee8f77d

所以在括号内,以逗号分隔的文本表示指针(分支是指针)指向的位置。因此可能有多个指针指向特定提交,也可能有 0 个

【讨论】:

    【解决方案2】:

    问题太多了^_^。

    括号

    括号中的文本表示标签、分支和 HEAD 指针(如果存在)以及您的工作目录是否在此处。每次运行 git checkout SOMETHING 时,您都会更改您的 HEAD 指针(您的工作),其中某些内容是标签、分支或只是提交哈希。

    颜色

    颜色取决于你的终端配置我有这些颜色:

    • 紫色表示隐藏
    • 红色表示远程分支
    • 本地分支和标签的白色粗体
    • 黄色表示提交消息

    在你的图片中我看到了

    • 红色表示远程分支
    • 红色代表当地分支机构
    • 标签的黄色粗体
    • 黄色表示提交哈希

    ->

    只是一个指针。 HEAD -> 45g24g42t 表示您的 HEAD(您的工作目录正在提交 45g24g42t。

    原点/bla

    每次你克隆一个项目,例如你可以看到这个:

    * 3G245GV (HEAD -> 3G245GV, foo, origin/foo)
    

    这意味着您的本地分支foo 与远程foo 分支位于同一点。通常遥控器被命名为origin。如果您进行提交,您可以在您的计算机中看到如下内容:

    * G54G23F (HEAD -> G54G23F, foo)
    * 3G245GV (origin/foo)
    

    这意味着您的本地分支在 origin/foo 之前。这意味着您应该推送您的提交。

    就是这样

    有些问题是多余的,但如有必要,我会改进这个答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-08
      • 1970-01-01
      • 2020-12-11
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      相关资源
      最近更新 更多