Git
Português (Brasil) ▾ Topics ▾ Latest version ▾ git-show-branch last updated in 2.30.0

NOME

git-show-branch - Exibe as ramificações e o seus commits

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 comando git 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]