分支的Git日志占位符

dav*_*id8 6 git

有没有任何占位符显示提交的分支名称是git --pretty=format(在git log和git show中)?

喜欢%H提交哈希?

Cod*_*ard 8

添加git log --decorate,它将显示分支,标签等.

  • 如果您想要记录以显示图表,您可以添加 --graph
  • 如果您使用基于uxin的操作系统,您可以使用它 .githelpers

从日志文档:

--decorate [= short | full | no]

打印出所有提交的引用名称.如果指定了short,则不会打印引用名称前缀refs/heads /,refs/tags /和refs/remotes /.如果指定full,则将打印完整的ref名称(包括前缀).默认选项很短

.githelprs脚本的输出:

在此输入图像描述


jth*_*ill 1

提交不在分支中,分支只是挂在特定提交上的存储库本地标签。例如,大多数项目只有一个根,每个分支都可以追溯到该根。Git 不在乎哪个分支是你的“主”分支,这完全是一个解释问题。

你可以

git branch --contains $thatcommit
Run Code Online (Sandbox Code Playgroud)

查看可以追踪该提交的祖先的所有分支,以及

git log --branches --decorate --simplify-by-decoration --oneline \
        --ancestry-path --first-parent ^$thatcommit
Run Code Online (Sandbox Code Playgroud)

查看通过其第一个父链接追溯到该提交的所有分支(即不是仅通过合并合并该提交的分支)。

编辑:只说“分支”确实很容易,但对于新手来说,很难记住你在 git 中使用的每个名称都以非常短的顺序追溯到对象数据库中的其他未区分的对象 - 引用名称是只需方便地进入存储库即可。更迂腐地正确的是“分支提示”甚至“分支提示提交”。

分支引用的唯一特别之处是它的完整拼写是“refs/heads/$branchname”,当看到它时git checkout它就成为HEAD对此的符号引用——因此每个更新的人都会head更新分支提示,并且每个查看的人都会更新分支引用。HEAD查看当前分支提示。

您可以将存储库本地注释挂在分支引用上,几个方便的命令会在branch.$branchname配置部分中查找其默认值。