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