Spec-Zone.ru › Git

git-show-branch

Имя

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> или <glob> (или всех ссылок в refs/heads и/или refs/tags) полувизуально.

Одновременно может отобразить не более 26 ветвей и коммитов.

Использует showbranch.default многозначные параметры конфигурации, если на командной строке не указаны <rev> или <glob>.

Опции

<rev>

Произвольное расширенное выражение SHA-1 (см. gitrevisions[7]), обычно обозначающее вершину ветви или тег.

<glob>

Шаблон glob, который соответствует именам ветвей или тегов в каталоге refs/. Например, если у вас много ветвей тем в refs/heads/topic, указание topic/* отобразит все из них.

-r
--remotes

Отобразить ветви удалённого отслеживания.

-a
--all

Отобразить как ветви удалённого отслеживания, так и локальные ветви.

--current

С этой опцией команда включает текущую ветвь в список отображаемых rev, если она не указана в командной строке.

--topo-order

По умолчанию ветви и их коммиты отображаются в обратном хронологическом порядке. Эта опция отображает их в топологическом порядке (то есть коммиты-потомки отображаются перед их родителями).

--date-order

Эта опция аналогична --topo-order в том смысле, что родитель не предшествует всем своим потомкам, но иначе коммиты упорядочены по дате их создания.

--sparse

По умолчанию вывод опускает слияния, которые достижимы только от одной вершины, отображаемой в выводе. Эта опция делает их видимыми.

--more=<n>

Обычно команда прекращает вывод при отображении коммита, являющегося общим предком всех ветвей. Этот флаг сообщает команде перейти к <n> дополнительным общим коммитам за этим. При отрицательном значении <n> отображаются только указанные <ref>, без отображения дерева предков коммитов.

--list

Синоним к --more=-1

--merge-base

Вместо отображения списка коммитов, определите возможные базовые точки слияния для указанных коммитов. Все базовые точки слияния будут содержаться во всех указанных коммитах. Это отличается от того, как git-merge-base[1] обрабатывает случай с тремя или более коммитами.

--independent

Из указанных <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> последних записей журнала ссылок для заданной ссылки. Если задан <base>, отображаются <n> записей, начиная с этой записи. <base> может быть указан как количество или дата. При отсутствии явного параметра <ref>, по умолчанию используется текущая ветвь (или HEAD при отвязанной ветви).

--color[=<when>]

Окрасить знаки статуса (один из них: * ! + -) каждого коммита, соответствующего ветви, в которой он находится. Значение должно быть всегда (по умолчанию), никогда или автоматически.

--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

отображает 10 записей журнала ссылок, начиная с вершины, по состоянию на 1 час назад. Без --list, вывод также показывает, как эти вершины связаны топологически друг с другом.

Конфигурация

Все строки ниже этой строки в этом разделе избирательно включаются из документации git-config[1]. Содержимое такое же, как и там:

showBranch.default

Набор ветвей по умолчанию для git-show-branch[1]. См. git-show-branch[1].

show-branch

© 2005–2026 Linus Torvalds and others
Licensed under the GNU General Public License version 2.
https://git-scm.com/docs/git-show-branch

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API