Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.43.0 11/20/23
- 2.42.1 no changes
- 2.42.0 08/21/23
- 2.39.1 → 2.41.0 no changes
- 2.39.0 12/12/22
- 2.38.1 → 2.38.5 no changes
- 2.38.0 10/02/22
RESUMO
git show-branch [-a|--all] [-r|--remotes] [--topo-order | --date-order] [--current] [--color[=<quando>] | --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>]
DESCRIÇÃO
Exibe o grafo da ancestralidade do commit, começando pelos commits informados com <rev>s ou <glob>s (ou todos as refs em refs/heads e/ou refs/tags) de forma semi-visual.
Não pode exibir mais de 29 ramificações e commits por vez.
Ele utiliza itens de configuração showbranch.default
com vários valores
caso nenhuma <rev> ou <glob> seja utilizado na linha de comando.
OPÇÕES
- <rev>
-
A expressão arbitrária estendida do SHA-1 (consulte gitrevisions[7]) que normalmente informa o cabeçalho de um ramo ou uma tag.
- <glob>
-
Um padrão "glob" que corresponda aos nomes dos ramos ou tags nos refs/. Caso você tenha muitos tópicos nos ramos em refs/heads/topic, informando
topic/*
exibiria todas elas. - -r
- --remotes
-
Exibe os ramos monitorados remotamente.
- -a
- --all
-
Exibe ambos os ramos monitorados remotamente e o ramos locais.
- --current
-
Com esta opção, o comando inclui o ramo atual na lista das "revs" que serão exibidas quando não for utilizada na linha de comando.
- --topo-order
-
É predefinido que os ramos e seus commits sejam exibidos em ordem cronológica inversa. Esta opção faz com que eles apareçam em ordem topológica (ou seja, os commits descendentes são exibidos antes dos parentes).
- --date-order
-
Essa opção é semelhante à
--topo-order
, no sentido onde nenhum pai vem antes de todos os herdeiros, porém, caso contrário, os commits são ordenadas de acordo com a data do commits. - --sparse
-
É predefinido que a saída omita as mesclagens que sejam acessíveis apenas do cume que está sendo exibido. Esta opção os torna visíveis.
- --more=<n>
-
Normalmente, o comando interrompe a saída durante a exibição do commit que for o ancestral comum de todos os ramos. Esta opção diz ao comando para ir até <n> commits além disso. Quando o valor de <n> for negativo, exiba apenas os
<reference>
informados, sem exibir ancestralidade da árvore do commit . - --list
-
É um sinônimo para a opção
--more=-1
- --merge-base
-
Em vez de exibir a lista do commit, determine as possíveis bases para mesclagem para determinados commits. Todas as mesclagens das bases estarão contidas em todos os commits informados. Isso é diferente de como o git-merge-base[1] lida com o caso de três ou mais commits.
- --independent
-
Entre as <referências> informadas, exiba apenas as que não podem ser alcançadas a partir de nenhuma outra <referência>.
- --no-name
-
Não exiba o texto informado dos nomes para cada commit.
- --sha1-name
-
Em vez de nomear os commits utilizando o caminho para alcançá-los através dos cabeçalhos ("master~2" para significar o avô do "master" por exemplo), nomeie-os com o prefixo exclusivo dos nomes dos seus objetos.
- --topics
-
Exibe apenas os commits que NÃO estão no primeiro ramo informado. Isso ajuda a monitorar o tópico das ramificações ocultando qualquer commit que já esteja na linha principal de desenvolvimento. Quando o comando
git show-branch --topics master topic1 topic2
for utilizado, isso mostra as revisões fornecidas pelo comandogit rev-list {caret}master topic1 topic2
- -g
- --reflog[=<n>[,<base>]] [<ref>]
-
Mostra <n> lançamentos mais recentes do ref-log para uma determinada "ref". Caso a <base> seja utilizado, os <n> lançamentos retornam daquela lançamento. A opção <base> pode ser definida como uma contagem ou data. Quando nenhum parâmetro explícito <ref> é utilizado, a predefinição retorna para o ramo atual (ou
HEAD
caso esteja desanexado). - --color[=<quando>]
-
Color the status sign (one of these:
*
!
+
-
) of each commit corresponding to the branch it’s in. Always (sempre) é o valor predefinido, as outras opções são "never" ou "auto". - --no-color
-
Turn off colored output, even when the configuration file gives the default to color output. O mesmo que
--color=never
.
Observe que as opções --more
, --list
, --independent
e --merge-base
são mutuamente exclusivas.
SAÍDA
Dadas as "N" <referências>, as primeiras "N" linhas são a descrição de uma
linha da mensagem do commit. O cabeçalho do ramo apontada para
$GIT_DIR/HEAD
é prefixada com um caractere asterisco *
enquanto outros
cabeçalhos são prefixadas com um caractere !
.
Após essas "N" linhas, um registro log com uma linha para cada commit é
exibido, recuados em "N" lugares. Caso um commit esteja no "I-ésimo" ramo,
o "I-ésimo" caractere de indentação exibe um sinal de +
; caso contrário,
mostra um espaço. Os commits mesclados são indicados através de um sinal
-
. Cada commit exibe um nome abreviado que pode ser utilizado como um
SHA-1 estendido para dar nome a este commit.
O exemplo a seguir mostra três ramificações, master
(mestres), fixes
(correções) e mhf
:
$ git show-branch master fixes mhf * [master] Add 'git show-branch'. ! [fixes] Introduz a flag "reset type" para "git reset" ! [mhf] Permite que o refspec "+remote:local" cause --force quando for buscar. --- + [mhf] Permite que o refspec "+remote:local" cause --force quando for buscar. + [mhf~1] Usa git-octopus quando for capturar mais de um cabeçalho. + [fixes] Introduz a sinalização "reset type" para "git reset" + [mhf~2] "git fetch --force". + [mhf~3] Utilize .git/remote/origin, e não .git/branches/origin. + [mhf~4] Faz um "git pull" e "git fetch" retornar para a predefinição no "origin" + [mhf~5] Infame 'octopus merge' + [mhf~6] Retira git-parse-remote. + [mhf~7] Multi-head fetch. + [mhf~8] Começa a adicionar a compatibilidade com o $GIT_DIR/remotes/. *++ [master] Adiciona 'git show-branch'.
Todos estes três ramos foram bifurcados em um commit comum, [master], cuja mensagem do commit é "Add 'git show-branch'". O ramo "fixes" adiciona um commit "Introduz a opção "reset type" para o comando "git reset"". O ramo "mhf" adiciona muitos outros commits. O ramo atual é "master".
EXEMPLOS
Caso mantenha os seus ramos principais imediatamente sob refs/heads
e
tópico dos ramos nos subdiretórios, ter o seguinte no arquivo de
configuração pode ajudar:
[showbranch] default = --topo-order default = heads/*
Com isso, o comando git show branch
sem parâmetros extras exibiria apenas
as principais ramificações. Além disso, caso esteja no tópico do ramo, ele
também será exibido.
$ git show-branch --reflog="10,1 horas atrás" --list master
exibe 10 entradas "reflogs" retornando do cume há uma hora atrás. Sem
--list
, a saída também exibe como estes cumes estão topologicamente
relacionados entre si.
GIT
Parte do conjunto git[1]