Git
Português (Brasil) ▾Topics ▾Latest version ▾ git-show-ref last updated in 2.43.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>]] [--tags]
	     [--heads] [--] [<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.

The --exists form can be used to check for the existence of a single references. This form does not verify whether the reference resolves to an actual object.

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.

--heads
--tags

Limit to "refs/heads" and "refs/tags", respectively. These options are not mutually exclusive; when given both, references stored in "refs/heads" and "refs/tags" are displayed.

-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

Enable stricter reference checking by requiring an exact ref path. Aside from returning an error code of 1, it will also print an error message if --quiet was not specified.

--exists

Check whether the given reference exists. Returns an exit code of 0 if it does, 2 if it is missing, and 1 in case looking up the reference failed with an error other than the reference being missing.

--abbrev[=<n>]

Abbreviate the object name. When using --hash, you do not have to say --hash --abbrev; --hash=n would do.

-q
--quiet

Do not print any results to stdout. Can be used with --verify to silently check if a reference exists.

--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>…​

Show references matching one or more patterns. Patterns are matched from the end of the full name, and only complete parts are matched, e.g. master matches refs/heads/master, refs/remotes/origin/master, refs/tags/jedi/master but not refs/heads/mymaster or 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 --heads --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).

Para mostrar apenas as tags ou apenas os cabeçalhos dos ramos adequados, use a opção --tags e/ou --heads respectivamente (o uso de ambos significa que ele mostra as tags e os cabeçalhos, mas não outras referências aleatórias no subdiretório refs/).

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