设置和配置
获取和创建项目
基本快照
分支和合并
共享和更新项目
检查和比较
补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.46.1 → 2.49.0 没有变化
-
2.46.0
2024-07-29
- 2.43.1 → 2.45.3 没有变化
-
2.43.0
2023-11-20
- 2.42.1 → 2.42.4 没有变化
-
2.42.0
2023-08-21
- 2.39.1 → 2.41.3 没有变化
-
2.39.0
2022-12-12
- 2.38.1 → 2.38.5 没有变化
-
2.38.0
2022-10-02
- 2.22.1 → 2.37.7 没有变化
-
2.22.0
2019-06-07
- 2.19.3 → 2.21.4 没有变化
-
2.19.2
2018-11-21
- 2.18.1 → 2.19.1 没有变化
-
2.18.0
2018-06-21
- 2.10.5 → 2.17.6 没有变化
-
2.9.5
2017-07-30
- 2.1.4 → 2.8.6 没有变化
-
2.0.5
2014-12-17
概要
git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order] [--current] [--color[=<when>] | --no-color] [--sparse] [--more=<n> | --list | --independent | --merge-base] [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)…] git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]
描述
从使用 <rev> 或 <glob>(或 refs/heads 和/或 refs/tags 下的所有引用)命名的提交开始,以半可视化的方式显示提交祖先图。
它一次最多只能显示 26 个分支和提交。
如果在命令行上没有给出 <rev> 或 <glob>,它将使用 showbranch.default
多值配置项。
选项
- <rev>
-
任意扩展的 SHA-1 表达式(参见 gitrevisions[7]),通常命名一个分支头或标签。
- <glob>
-
匹配 refs/ 下的分支或标签名称的 glob 模式。 例如,如果您在 refs/heads/topic 下有许多主题分支,则给出
topic/*
将显示所有这些分支。 - -r
- --remotes
-
显示远程跟踪分支。
- -a
- --all
-
同时显示远程跟踪分支和本地分支。
- --current
-
使用此选项,当命令行上未给出当前分支时,该命令会将当前分支包含在要显示的修订列表里。
- --topo-order
-
默认情况下,分支及其提交按反时间顺序显示。 此选项使它们以拓扑顺序显示(即,后代提交显示在其父提交之前)。
- --date-order
-
此选项类似于
--topo-order
,因为没有父项位于其所有子项之前,但其他情况下,提交会根据其提交日期进行排序。 - --sparse
-
默认情况下,输出省略了仅从显示的一个提示可访问的合并。 此选项使它们可见。
- --more=<n>
-
通常,该命令会在显示所有分支的公共祖先的提交时停止输出。 此标志告诉命令超出该范围再执行 <n> 个公共提交。 当 <n> 为负数时,仅显示给定的 <ref>,而不显示提交祖先树。
- --list
-
--more=-1
的同义词 - --merge-base
-
不要显示提交列表,而是确定指定提交的可能合并基础。 所有合并基础将包含在所有指定的提交中。 这与 git-merge-base[1] 处理三个或更多提交的情况不同。
- --independent
-
在给定的 <ref> 中,仅显示无法从任何其他 <ref> 访问的 <ref>。
- --no-name
-
不显示每个提交的命名字符串。
- --sha1-name
-
不要使用从头到达它们的路径来命名提交(例如,“master~2”表示“master”的祖父级),而是使用它们的对象名称的唯一前缀来命名它们。
- --topics
-
仅显示不在给定的第一个分支上的提交。 这有助于跟踪主题分支,方法是隐藏已在主开发线路中的任何提交。 当给出“git show-branch --topics master topic1 topic2”时,这将显示 “git rev-list ^master topic1 topic2” 给出的修订。
- -g
- --reflog[=<n>[,<base>]] [<ref>]
-
显示给定引用的 <n> 个最新的 ref-log 条目。 如果给出了 <base>,则从该条目返回 <n> 个条目。 <base> 可以指定为计数或日期。 当未给出显式 <ref> 参数时,它默认为当前分支(如果已分离,则为
HEAD
)。 - --color[=<when>]
-
为与提交所在分支相对应的每个提交的状态符号(以下符号之一:
*
!
+
-
)着色。 该值必须为 always(默认值)、never 或 auto。 - --no-color
-
关闭彩色输出,即使配置文件给出的默认设置为彩色输出。 与
--color=never
相同。
请注意,--more、--list、--independent 和 --merge-base 选项是互斥的。
输出
给定 N 个 <ref>,前 N 行是其提交消息中的单行描述。 $GIT_DIR/HEAD 指向的分支头带有星号 *
前缀,而其他头带有 !
前缀。
在这 N 行之后,将显示每个提交的单行日志,缩进 N 个位置。 如果提交位于第 I 个分支上,则第 I 个缩进字符显示一个 +
符号; 否则它显示一个空格。 合并提交用 -
符号表示。 每个提交都显示一个短名称,可以用作扩展的 SHA-1 来命名该提交。
以下示例显示了三个分支,“master”、“fixes”和“mhf”
$ git show-branch master fixes mhf * [master] Add 'git show-branch'. ! [fixes] Introduce "reset type" flag to "git reset" ! [mhf] Allow "+remote:local" refspec to cause --force when fetching. --- + [mhf] Allow "+remote:local" refspec to cause --force when fetching. + [mhf~1] Use git-octopus when pulling more than one head. + [fixes] Introduce "reset type" flag to "git reset" + [mhf~2] "git fetch --force". + [mhf~3] Use .git/remote/origin, not .git/branches/origin. + [mhf~4] Make "git pull" and "git fetch" default to origin + [mhf~5] Infamous 'octopus merge' + [mhf~6] Retire git-parse-remote. + [mhf~7] Multi-head fetch. + [mhf~8] Start adding the $GIT_DIR/remotes/ support. *++ [master] Add 'git show-branch'.
这三个分支都从一个公共提交 [master] 分叉,该提交的消息是 “Add 'git show-branch'”。 “fixes”分支添加了一个提交 “Introduce "reset type" flag to "git reset""。“mhf”分支添加了许多其他提交。 当前分支为 “master”。
例子
如果您将主分支直接保存在 refs/heads
下,并将主题分支保存在其子目录中,则在配置文件中包含以下内容可能会有所帮助
[showbranch] default = --topo-order default = heads/*
这样,没有额外参数的 git show-branch
将仅显示主分支。 此外,如果您恰好在您的主题分支上,它也会显示出来。
$ git show-branch --reflog="10,1 hour ago" --list master
显示从 1 小时前的提示开始往回数的 10 个 reflog 条目。 如果没有 --list
,输出还会显示这些提示在拓扑结构上是如何相互关联的。
配置
此部分中此行下方的所有内容都是有选择地从 git-config[1] 文档中包含的。 内容与其中找到的内容相同
- showBranch.default
-
git-show-branch[1] 的默认分支集。 请参阅 git-show-branch[1]。
GIT
git[1] 套件的一部分