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.46.1 → 2.47.1 no changes
- 2.46.0 07/29/24
- 2.43.1 → 2.45.2 no changes
- 2.43.0 11/20/23
- 2.42.1 → 2.42.3 no changes
- 2.42.0 08/21/23
- 2.39.1 → 2.41.2 no changes
- 2.39.0 12/12/22
- 2.21.1 → 2.38.5 no changes
- 2.21.0 02/24/19
- 2.18.1 → 2.20.5 no changes
- 2.18.0 06/21/18
- 2.10.5 → 2.17.6 no changes
- 2.9.5 07/30/17
- 2.7.6 → 2.8.6 no changes
- 2.6.7 05/05/17
- 2.1.4 → 2.5.6 no changes
- 2.0.5 12/17/14
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.
GIT
Parte do conjunto git[1]