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.42.1 → 2.47.1 no changes
- 2.42.0 08/21/23
- 2.36.1 → 2.41.2 no changes
- 2.36.0 04/18/22
- 2.30.1 → 2.35.8 no changes
- 2.30.0 12/27/20
- 2.22.1 → 2.29.3 no changes
- 2.22.0 06/07/19
- 2.14.6 → 2.21.4 no changes
- 2.13.7 05/22/18
- 2.10.5 → 2.12.5 no changes
- 2.9.5 07/30/17
- 2.1.4 → 2.8.6 no changes
- 2.0.5 12/17/14
RESUMO
git ls-tree [-d] [-r] [-t] [-l] [-z] [--name-only] [--name-status] [--object-only] [--full-name] [--full-tree] [--abbrev[=<n>]] [--format=<formato>] <tree-ish> [<caminho>…]
DESCRIÇÃO
Lista o conteúdo de um determinado objeto na árvore, como o que "/bin/ls -a" faz no diretório de trabalho atual. Observe que:
-
o comportamento é um pouco diferente do "/bin/ls", pois o <caminho> indica apenas uma lista de padrões para serem coincididos, portanto, especificar o nome do diretório (sem
-r
) se comportará de maneira diferente e a ordem dos argumentos não importa. -
O comportamento é semelhante ao de "/bin/ls", pois o <caminho> é considerado relativo ao diretório de trabalho atual. Por exemplo, quando estiver num diretório sub que tenha um diretório dir, você pode executar o comando git ls-tree -r HEAD dir para listar o conteúdo da árvore (ou seja,
sub/dir
emHEAD
). Você não deve fornecer uma árvore que não esteja no nível raiz (git ls-tree -r HEAD:sub dir
por exemplo), pois isso resultaria na solicitação desub/sub/dir
no commitHEAD
. No entanto, o diretório de trabalho atual pode ser ignorado com a opção--full-tree
.
OPÇÕES
- <tree-ish>
-
Id de uma
tree-ish
. - -d
-
Exibe apenas a entrada da árvore informada em si, não seus herdeiros.
- -r
-
Recursar nas subárvores.
- -t
-
Exiba as entradas da árvore mesmo quando for recursá-las. Não tem efeito caso
-r
não tenha sido passado.-d
implica no uso da opção-t
. - -l
- --long
-
Exibe o tamanho do objeto nas entradas da bolha (arquivo).
- -z
-
A terminação \0 de linha na saída e não colocar aspas nos nomes dos arquivos. Consulte o FORMATO DE SAÍDA abaixo para obter mais informações.
- --name-only
- --name-status
-
Lista apenas os nomes de arquivos (em vez da saída "longa"), um por linha. Não pode ser combinado com a opção
--object-only
. - --object-only
-
Liste apenas os nomes dos objetos, um por linha. Não pode ser combinado com
--name-only
ou--name-status
. Isso é equivalente a especificar--format='%(objectname)'
, mas tanto para essa opção quanto para esse formato exato, o comando usa um caminho de código otimizado manualmente em vez de passar pelo mecanismo de formatação genérico. - --abbrev[=<n>]
-
Em vez de mostrar todas as linhas hexadecimais com 40 bytes do objeto, mostre o prefixo mais curto que tenha pelo menos <n> hexadígitos e que faça referência exclusiva ao objeto. Um número não padrão de dígitos pode ser especificado com
--abbrev=<n>
. - --full-name
-
Em vez de mostrar os nomes dos caminhos relativos ao diretório de trabalho atual, mostre os nomes completos dos caminhos.
- --full-tree
-
Não limite a listagem ao diretório de trabalho atual. Implica no uso da opção
--full-name
. - --format=<formato>
-
Uma string que interpola
%(fieldname)
do resultado que está sendo exibido. Ele também interpola%%
para%
e%xNN
, ondeNN
são dígitos hexadecimais, interpola para o caractere com código hexadecimalNN
; por exemplo,%x00
interpola para\0
(NUL),%x09
para\t
(TAB) e%x0a
para\n
(LF). Quando especificado,--format
não pode ser combinado com outras opções de alteração de formato, incluindo as opções--long
,--name-only
e--object-only
. - [<caminho>…]
-
Quando os caminhos forem fornecidos, mostre-os (observe que não se trata realmente de nomes de caminho brutos, mas de uma lista de padrões a serem correspondidos). Caso contrário, usa implicitamente o nível da raiz da árvore como o único argumento de caminho.
Formato de saída
O formato de saída do ls-tree
é determinado pela opção --format
ou por outras opções de alteração de formato, como --name-only
etc. (consulte --format
acima).
O uso de certas diretivas --format
à utilização dessas opções, ao invocar o mecanismo completo de formatação pode ser mais lento do que se usar uma opção de formatação apropriada.
Nos casos onde o --format
mapearia exatamente para uma opção existente, o ls-tree
utilizará o caminho mais rápido e apropriado. Assim, o formato padrão é equivalente a:
%(objectmode) %(objecttype) %(objectname)%x09%(path)
Este formato gerado é compatível com o que a opção --index-info --stdin
do comando git update-index espera.
Quando a opção -l
é utilizada, o formato muda para
%(objectmode) %(objecttype) %(objectname) %(objectsize:padded)%x09%(path)
O tamanho do objeto identificado por <nome-do-objeto> é fornecido em bytes e justificado à direita com uma largura mínima de 7 caracteres. O tamanho do objeto é fornecido somente para as entradas das bolhas (arquivo); para outras entradas, o caractere -
é usado no lugar do tamanho.
Sem a opção z
, os pathnames
com os caracteres "incomuns" são citados conforme explicado na variável de configuração core.quotePath
(consulte git-config[1]). Utilizando a opção -z
, o nome do arquivo é gerado literalmente e a linha é finalizada com um byte NUL
.
Formato personalizado:
É possível imprimir em um formato personalizado usando a opção --format
, que é capaz de interpolar diferentes campos usando uma notação %(fieldname)
. Por exemplo, se você se importa apenas com os campos "objectname" e "path", você pode executar com um comando "--format" específico como
git ls-tree --format='%(objectname) %(caminho)' <tree-ish>
NOME DOS CAMPOS
Vários valores dos campos estruturados podem ser usados para interpolar na saída resultante. Para cada linha gerada, os seguintes nomes podem ser usadas:
- objectmode
-
O modo do objeto.
- objecttype
-
O tipo do objeto (
commit
,blob
outree
). - objectname
-
O nome do objeto.
- objectsize[:padded]
-
O tamanho de um objeto
blob
("-" se for umcommit
outree
). Ele também oferece compatibilidade a um formato com tamanho preenchido por "%(objectsize:padded)". - caminho
-
O caminho do objeto.
GIT
Parte do conjunto git[1]