git - 如何理解 `git log --all --graph --oneline --decorate` 的图形输出?

标签 git

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

例如

enter image description here

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

-> 是什么意思?

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

在输出的第一行,

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

在输出的第5行

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

在输出的第6行

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

谢谢。

最佳答案

问题太多了^_^。

括号

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

颜色

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

  • 紫色用于 stash
  • 远程分支为红色
  • 本地分支和标签的白色粗体
  • 黄色用于提交消息

在你的图片中我看到了

  • 远程分支为红色
  • 本地分支机构为红色
  • 标签用黄色加粗
  • 黄色用于提交哈希

->

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

起源/bla

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

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

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

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

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

就这些

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

关于git - 如何理解 `git log --all --graph --oneline --decorate` 的图形输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43549304/

相关文章:

git - 是否可以 git-checkout 单行而不是整个文件?

java - 如何在 git clone 期间修复 "Filename too long error"

Git: git lfs 迁移后的 "The system cannot find the path specified."

git - 涂抹错误: Error downloading

git - 排除子项目提交 Git

Git:从存储库中删除文件/文件夹,但在运行 git pull 时不从 git clones 中删除

git - 为什么 git 不显示我的文件已修改?

git - 无法将更改从 AWS CodeBuild 推送到 AWS CodeCommit

git - 设置 Git/SmartGit SSH 客户端的主文件夹

混帐 : How to disable the --no-verify option while doing a git commit?