Русский ▾ Topics ▾ Latest version ▾ git-show-branch last updated in 2.46.0

НАЗВАНИЕ

git-show-branch - Вывод веток и их коммитов

ОБЗОР

git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]
		[--current] [--color[=<когда>] | --no-color] [--sparse]
		[--more=<n> | --list | --independent | --merge-base]
		[--no-name | --sha1-name] [--topics]
		[(<редакция> | <glob-шаблон>)…]
git show-branch (-g | --reflog)[=<n>[,<база>]] [--list] [<ссылка>]

ОПИСАНИЕ

Показывает граф родословной коммитов, начиная с коммитов, указанных с помощью <ред> или <glob> (или всех ссылок в refs/heads и/или refs/tags), полувизуально.

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

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

ПАРАМЕТРЫ

<rev>

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

<glob>

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

-r
--remotes

Показать отслеживаемые внешние ветки.

-a
--all

Показывать как отслеживаемые внешние ветки, так и локальные ветки.

--current

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

--topo-order

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

--date-order

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

--sparse

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

--more=<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>[,<основа>]] [<ссылка>]

Показывает <число> самых последних записей журнала ссылок для данной ссылки. Если указана <основа>, <число> записей, начиная с этой записи. <основа> может быть указана как количество или дата. Если явный параметр <ссылка> не указан, по умолчанию используется текущая ветка (или HEAD, если он отсоединён).

--color[=<когда>]

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

--no-color

Отключить цветной вывод, даже если файл конфигурации задаёт цветной вывод по умолчанию. То же, что и --color=never.

Обратите внимание, что параметры --more, --list, --independent и --merge-base являются взаимоисключающими.

ВЫВОД

При наличии N <ссылок> первые 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]:

Warning

Missing ru/config/showbranch.adoc

See original version for this content.

GIT

Является частью пакета git[1]