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

NOME

git-show-ref - Liste as referências no repositório local

RESUMO

git show-ref [--head] [-d | --dereference]
	     [-s | --hash[=<n>]] [--abbrev[=<n>]] [--branches] [--tags]
	     [--] [<pattern>…​]
git show-ref --verify [-q | --quiet] [-d | --dereference]
	     [-s | --hash[=<n>]] [--abbrev[=<n>]]
	     [--] [<ref>…​]
git show-ref --exclude-existing[=<pattern>]
git show-ref --exists <ref>

DESCRIÇÃO

Exiba as referências disponíveis em um repositório local, juntamente com as IDs dos commits associados. Os resultados podem ser filtrados utilizando um padrão e as tags podem perder as suas referências nas IDs dos objetos. Além disso, pode ser utilizado para fazer um teste e ver se existe uma "ref" específica.

É predefinido que se exiba as tags, cabeçalhos e as referências remotas.

O formulário --exclude-existing é um filtro que faz o inverso. Ele lê as refs do stdin, uma ref por linha, e mostra aquelas que não existem no repositório local.

A opção --exists pode ser usada para verificar a existência de uma única referência. Esta opção não verifica se a referência se refere a um objeto real.

O uso deste utilitário é incentivado em favor do acesso direto aos arquivos no diretório .git.

OPÇÕES

--head

Exibe a referência HEAD, mesmo que ela normalmente fosse filtrada.

--branches
--tags

Limit to local branches and local tags, respectively. These options are not mutually exclusive; when given both, references stored in "refs/heads" and "refs/tags" are displayed. Note that --heads is a deprecated synonym for --branches and may be removed in the future.

-d
--dereference

Remova a referência e também as tags de referência nos IDs do objeto. Eles serão exibidos com ^{} anexado.

-s
--hash[=<n>]

Mostra apenas o OID, não o nome da referência. Quando combinada com --dereference, a tag com a referência removida ainda será exibida após o OID.

--verify

Ative a verificação de referência mais rigorosa, exigindo um caminho de referência exato. Além de retornar 1 como código de erro, ele também imprimirá uma mensagem de erro caso a opção --quiet não tiver sido usada.

--exists

Verifica se a referência fornecida existe. Retorna 0 como um código de encerramento, se for o caso, 2 se estiver ausente e 1 se a busca da referência falhar com um erro que não seja a ausência da referência.

--abbrev[=<n>]

Abreviar o nome do objeto. Ao usar a opção --hash, você não precisa usar --hash --abbrev; a penas a opção --hash=n será o suficiente.

-q
--quiet

Não gere nenhum resultado no stdout. Pode ser usado com --verify para verificar silenciosamente se uma referência existe.

--exclude-existing[=<padrão>]

Faça com que o git show-ref atue como um filtro que lê as refs do stdin no formato ^(?:<qualquer coisa>\s)?<refname>(?:\^{})?$ e executa as seguintes ações em cada uma delas: (1) strip ^{} no final da linha caso haja; (2) ignore caso a predefinição seja informada e não corresponder ao cabeçalho a "refname"; (3) avise caso o "refname" não seja um "refname" bem formado e ignore; (4) ignore caso o "refname" é uma "ref" que exista no repositório local; (5) caso contrário, imprima a linha.

<padrão>…​

Mostra as referências que correspondam a um ou mais padrões. Os padrões são correspondidos a partir do final do nome completo e apenas as partes completas são correspondidas, por exemplo, master corresponde a refs/heads/master, refs/remotes/origin/master, refs/tags/jedi/master, mas não a refs/heads/meumaster ou refs/remotes/master/jedi.

SAÍDA

O resultado será no formato:

<oid> SP <ref> LF

Por exemplo,

$ git show-ref --head --dereference
832e76a9899f560a90ffd62ae2ce83bbeff58f54 HEAD
832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/master
832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/origin
3521017556c5de4159da4615a39fa4d5d2c279b5 refs/tags/v0.99.9c
6ddc0964034342519a87fe013781abf31c6db6ad refs/tags/v0.99.9c^{}
055e4ae3ae6eb344cbabf2a5256a49ea66040131 refs/tags/v1.0rc4
423325a2d24638ddcc82ce47be5e40be550f4507 refs/tags/v1.0rc4^{}
...

Ao usar --hash (e não --dereference), a saída está no formato:

<oid> LF

Por exemplo,

$ git show-ref --branches --hash
2e3ba0114a1f52b47df29743d6915d056be13278
185008ae97960c8d551adcd9e23565194651b5d1
03adf42c988195b50e1a1935ba5fcbc39b2b029b
...

EXEMPLOS

Para exibir todas as referências chamadas "master", sejam tags, cabeçalhos ou qualquer outro, e independentemente da profundidade na hierarquia dos nomes de referência, utilize:

	git show-ref master

Exibirá "refs/heads/master" e também "refs/remote/other-repo/master", caso tais referências existam.

Quando utilizar a opção --verify, o comando precisa de um caminho exato:

	git show-ref --verify refs/heads/master

coincidirá apenas ao ramo exato chamado "master".

Se nada corresponder, o git show-ref retornará um código de erro 1 e, no caso de verificação, exibirá uma mensagem de erro.

Para a criação de scripts, você pode pedir que ele fique quieto com a opção --quiet, que permite que você faça coisas como

	git show-ref --quiet --verify -- "refs/heads/$headname" ||
		echo "O $headname não é um ramo válido"

para verificar se um ramo específico existe ou não (observe como na verdade não queremos exibir os resultados e queremos usar o nome completo da "ref" para ele, a fim de não desencadear o problema com coincidências parciais e ambíguas).

To show only tags, or only proper branch heads, use --tags and/or --branches respectively (using both means that it shows tags and branches, but not other random references under the refs/ subdirectory).

Para fazer a remoção da referência automática da tag do objeto, use a opção -d ou a opção --dereference, para que você possa fazer

	git show-ref --tags --dereference

para obter uma lista de todas as "tags" junto com a perda da referência feita.

ARQUIVOS

.git/refs/*, .git/packed-refs

GIT

Parte do conjunto git[1]

scroll-to-top