Git
简体中文 ▾ Topics ▾ Latest version ▾ git-show-branch last updated in 2.43.0

名称

git-show-branch - 显示分支及其提交情况

概述

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>s 或 <通配符>s 命名的提交(或 refs/heads 和/或 refs/tags 下的所有引用)开始的提交祖先图。

它不能同时显示超过 29 个分支和提交。

如果命令行中没有给出 <rev> 或 <通配符>,它会使用 showbranch.default 多值配置项。

选项

<rev>

任意扩展的 SHA-1 表达式(参见 gitrevisions[7]),通常用于命名分支头或标签。

<通配符>

匹配 refs/ 下分支或标记名称的通配模式。 例如,如果在 refs/heads/topic 下有许多主题分支,那么输入 topic/* 就会显示所有分支。

-r
--remotes

显示远程跟踪分支。

-a
--all

同时显示远程跟踪分支和本地分支。

--current

With this option, the command includes the current branch in the list of revs to be shown when it is not given on the command line.

--topo-order

默认情况下,分支及其提交按时间倒序显示。 此选项可使它们按拓扑顺序显示(即子分支提交显示在父分支之前)。

--date-order

该选项类似于 -topo-order,即父提交不会排在所有子提交之前,但也会根据提交日期对提交进行排序。

--sparse

默认情况下,输出会忽略只显示一个提示的合并。 该选项将使它们可见。

--more=<n>

通常,命令会在显示所有分支的共同祖先提交后停止输出。 此标记会告诉命令在此基础上再显示 <n> 次共同提交。 当 <n> 为负数时,只显示给出的 <引用>,而不显示提交祖先树。

--list

--more=-1

--merge-base

不显示提交列表,而是确定指定提交的可能合并库。所有合并库都将包含在所有指定的提交中。这与 git-merge-base[1] 处理三个或更多提交的方式不同。

--independent

在给出的多个 <引用> 中,只显示无法从其他 <引用> 到达的 <引用> 。

--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> 条最新引用日志记录。 如果给定 <基点>,则显示从该条目开始的 <n> 条目。 <基点> 可以指定为计数或日期。 如果没有给出明确的 <引用> 参数,则默认为当前分支(如果是分离分支,则为 HEAD)。

--color[=<when>]

为每个提交的状态符号(其中之一:*`!```+```-`)着色,与它所在的分支相对应。 值必须是 always(总是)(默认值)、never(从不)或 auto(自动)。

--no-color

关闭彩色输出,即使配置文件默认为彩色输出。 与 -color=never 相同。

Note that --more, --list, --independent, and --merge-base options are mutually exclusive.

输出

给定 N 个 <引用>,前 N 行是其提交信息中的单行描述。$GIT_DIR/HEAD 所指向的分支头前缀为星号 * 字符,而其他分支头前缀为 ! 字符。

Following these N lines, a one-line log for each commit is displayed, indented N places. If a commit is on the I-th branch, the I-th indentation character shows a + sign; otherwise it shows a space. Merge commits are denoted by a - sign. Each commit shows a short name that can be used as an extended SHA-1 to name that commit.

The following example shows three branches, "master", "fixes", and "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],其提交信息是 “添加 'git show-branch'”。 "fixes" 分支增加了一个提交 "在 "git reset "中引入 "reset type" 标志"。"mhf" 分支增加了许多其他提交。 当前分支是 "master"。

实例

如果你将主分支放在 refs/heads 下,而主题分支放在其子目录中,那么在配置文件中加入以下内容可能会有所帮助:

[showbranch]
	default = --topo-order
	default = heads/*

这样,不带额外参数的 git show-branch 就只能显示主分支。 此外,如果您恰好在您的主题分支上,它也会显示出来。

$ git show-branch --reflog="10,1 hour ago" --list master

shows 10 reflog entries going back from the tip as of 1 hour ago. Without --list, the output also shows how these tips are topologically related to each other.

配置

Warning

Missing zh_HANS-CN/includes/cmd-config-section-all.txt

See original version for this content.

Warning

Missing zh_HANS-CN/config/showbranch.txt

See original version for this content.

GIT

属于 git[1] 文档

scroll-to-top