Git Show
O que é git-show?
O git-show
é um utilitário de linha de comando usado para exibir informações expandidas de objetos Git, como blobs, trees, marcações e commits. O git-show
tem um comportamento específico por tipo do objeto.
As marcações mostram a mensagem da tag e outros objetos incluídos na tag. As árvores mostram os nomes e o conteúdo dos objetos em uma árvore. Blobs mostram o conteúdo direto do blob. Os commits mostram uma mensagem de log do commit e uma saída diff das alterações no commit.
Todos os objetos Git são acessados por referências. Por padrão, o git-show
age contra a referência HEAD. A referência HEAD sempre aponta para o último commit da ramificação atual. Portanto, você pode usar o git-show
para exibir a mensagem de log e a saída do diff do commit mais recente.
Opções do Git-show
<object>…
Uma referência a um objeto ou uma lista de objetos pode ser passada para examinar esses objetos específicos. Se nenhum objeto explícito for passado, o padrão do git-show
vai ser a referência HEAD.
--pretty [=<format>]
A opção pretty tem um valor de formato secundário que pode ser um dos seguintes: oneline, short, medium, full, fuller, email, raw
e format:<string>
. Se omitido, o formato padrão é médio
. Cada opção de formato é um modelo diferente de como o Git formata a saída do show. A opção <code>oneline</code> pode ser muito útil para mostrar uma lista de commits
--abbrev-commit
Essa opção reduz o tamanho dos IDs de confirmação de saída. Os IDs de commit têm 40 caracteres e podem ser difíceis de visualizar em telas estreitas de terminal. Essa opção combinada com --pretty=oneline
pode produzir uma saída git log
muito sucinta.
--no-abbrev-commit
Sempre mostra o ID completo do commit de 40 caracteres. Isso vai ignorar --abbrev-commit
e quaisquer outras opções que abreviam IDs de commit como o formato --oneline
Material relacionado
Como mover um Repositório do Git completo
VER SOLUÇÃO
Aprenda a usar o Git com o Bitbucket Cloud
--oneline
Este é um atalho para usar o comando expandido --pretty=oneline --abbrev-commit
encoding [=<encoding>]
A codificação de caracteres nas mensagens de log do Git é padronizada para UTF-8. A opção de codificação pode mudar para uma saída de codificação de caracteres diferente. Isso é útil se você estiver trabalhando com o Git em um ambiente com codificação de caracteres diferente, como um terminal de idioma asiático.
>--xpand-tabs=<n>
--expand-tabs
--no-expand-tabs
Essas opções substituem os caracteres de tabulação por espaços na saída da mensagem de log. O valor n
pode ser definido para configurar quantos caracteres de espaço as guias se expandem. Sem um valor n explícito, as guias vão se expandir para 8 espaços. --no-expand-tabs
é equivalente a n=0
--notes=<ref>
--no-notes
O Git tem um sistema de notas que permite que metadados arbitrários de 'notas' sejam anexados a objetos. Esses dados podem ser ocultados ou filtrados ao usar o git-show
.
--show-signature
Essa opção vai validar que o commit tenha uma assinatura criptografada o transmitindo para um subcomando gpg.
Formatos pretty para git-show
A opção --pretty
discutida acima aceita várias opções secundárias para massagear o formato da saída do git-show
. Essas opções secundárias estão listadas abaixo com um template de exemplo
- oneline
<sha1> <title line>
Oneline tenta compactar o máximo possível de informações em uma única linha
- short
commit <sha1>
Author: <author>
<title line>
- medium
commit <sha1>
Author: <author>
Date: <author date>
<title line>
<full commit message>
- full
commit <sha1>
Author: <author>
Commit: <committer>
<title line>
<full commit message>
- fuller
commit <sha1>
Author: <author>
AuthorDate: <author date>
Commit: <committer>
CommitDate: <committer date>
<title line>
<full commit message>
- email
De < sha1> < date>
De: < autor>
Data: < data do autor >
Assunto: [PATCH] < linha de título >
< mensagem de commit completo>
- raw
raw format ignora outras opções de formatação direta passadas para ogit-show
e gera o commit como armazenado no objeto. O raw vai desconsiderar--abrev
e--no-abbrev
e sempre vai mostrar os commits pais.
- formato:
format permite a especificação de um formato de saída personalizado. Ele funciona de forma semelhante ao comandoprintf
da linguagem C. A opção--pretty=format
usa um valor secundário de uma string de template. O template tem acesso a variáveis de espaço reservado que vão ser preenchidas com dados do objeto commit. Esses espaços reservados estão listados abaixo
• %H: hash de commit
• %h: hash de commit abreviado
• %T: hash de árvore
• %t: hash de árvore abreviado
• %P: hashes pai
• %p: hashes pai abreviados
• %an: nome do autor
• %aN: nome do autor
• %ae: e-mail do autor
• %aE: e-mail do autor
• %ad: data do autor (o formato respeita a opção --date=)
• %aD: data do autor, estilo RFC2822
• %ar: data do autor, relativo
• %at: data do autor, carimbo de data/hora UNIX
• %ai: data do autor, formato ISO 8601
• %cn: nome do committer
• %cN: nome do committer
• %ce: e-mail do committer
• %cE: e-mail do committer
• %cd: data do committer
• %cD: data do committer, estilo RFC2822
• %cr: data do committer, relativo
• %ct: data do committer, carimbo de data/hora UNIX
• %ci: data do committer, formato ISO 8601
• %d: ref names, como a opção --decorate do git-log (1)
•%e: codificação
•%s: assunto
•%f: linha de assunto limpa, adequada para um nome de arquivo
• • %b: corpo
•%N: notas de commit
•%gD: seletor de reflog, por exemplo, refs/stash@ {1}
•%gd: seletor de reflog encurtado, por exemplo, stash@ {1}
• %gs: assunto reflog
• %Cred: mudar a cor para vermelho
•%Cgreen: mudar de cor para verde
• %Cblue: mudar de cor para azul
• %Creset: redefinir cor
• %C(...): especificação de cor, conforme descrito em color.branch. * opção de configuração
%m: marca esquerda, direita ou limitek
• %n: nova linhae
• %%: um % brut
• %x00: imprime um byte de um código hexadecimal
• %w([[, : interruptor quebra automática de linha, como a opção -w do git-shortlog[, ]]])
Exemplos do git-show
git show --pretty="" --name-only bd61ad98
Isso vai listar todos os arquivos tocados em um commit
git show REVISION:path/to/file
Isso vai mostrar uma versão específica de um arquivo. Substitua o REVISON por
um Git sha.
git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783
Isso vai exibir a tag v2.0.0 e o commit em 6ef002d74cbbc099e1063728cab14ef1fc49c783
git show commitA...commitD
Isso vai emitir todos os commits no intervalo do commit A
ao commit D
Resumo
git-show
é um comando muito versátil para examinar objetos em um repositório Git. Ele pode ser usado para direcionar arquivos específicos em revisões específicas. Examinar um intervalo de commits com o git-show
vai produzir todos os commits individuais entre o intervalo. O git-show
pode ser uma ferramenta útil para criar notas de patch e rastrear alterações em um repositório.
Compartilhar este artigo
Próximo tópico
Leitura recomendada
Marque esses recursos para aprender sobre os tipos de equipes de DevOps ou para obter atualizações contínuas sobre DevOps na Atlassian.