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.30.1 → 2.34.1 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
RESUMO
git ls-tree [-d] [-r] [-t] [-l] [-z] [--name-only] [--name-status] [--full-name] [--full-tree] [--abbrev[=<n>]] <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 do "/bin/ls" onde o <caminho> é considerado como relativo ao diretório de trabalho atual. Por exemplo, quando você está em um diretório sub que possui um diretório dir, é possível executar o comando git ls-tree -r HEAD dir para listar o conteúdo da árvore (que é
sub/dir
noHEAD
). Você quer informar uma árvore que não esteja no nível raiz (como por exemplo,git ls-tree -r HEAD:sub dir
) neste caso, pois isso resultaria na solicitação dosub/sub/dir
no commitHEAD
. No entanto, o diretório de trabalho atual pode ser ignorado passando 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 da linha na saída e não cita os nomes dos arquivos. Consulte FORMATO DE SAÍDA abaixo para obter mais informações.
- --name-only
- --name-status
-
Liste apenas os nomes dos arquivos (em vez da saída "longa"), um por linha.
- --abrev[=<n>]
-
Em vez de exibir as linhas do objeto hexadecimal com 40 bytes, exibe apenas um prefixo parcial. Um número não predefinido dos dígitos podem ser definidos 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
. - [<caminho>…]
-
Quando os caminhos forem informados, exiba-os (observe que estes nomes do caminho não são realmente brutos, porém uma lista de padrões que serão combinados). Caso contrário, implicitamente utiliza o nível na raiz da árvore como o único argumento do caminho.
Formato de saída
<mode> SP <tipo> SP <objeto> TAB <arquivo>
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
<mode> SP <tipo> SP <objeto> SP <object size> TAB <arquivo>
O tamanho do objeto identificado por <objeto>
é informado em bytes e
justificado à direita com largura mínima de 7 caracteres. O tamanho do
objeto é informado apenas para as entradas das bolhas (arquivo); para as
outras entradas, o caracter -
é utilizado 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
.
GIT
Parte do conjunto git[1]