Git
Português (Brasil) ▾Topics ▾Latest version ▾ git-ls-files last updated in 2.44.0

NOME

git-ls-files - Exiba as informações sobre os arquivos no índice e na árvore de trabalho

RESUMO

git ls-files [-z] [-t] [-v] [-f]
		[-c|--cached] [-d|--deleted] [-o|--others] [-i|--ignored]
		[-s|--stage] [-u|--unmerged] [-k|--killed] [-m|--modified]
		[--resolve-undo]
		[--directory [--no-empty-directory]] [--eol]
		[--deduplicate]
		[-x <pattern>|--exclude=<padrão>]
		[-X <file>|--exclude-from=<arquivo>]
		[--exclude-per-directory=<arquivo>]
		[--exclude-standard]
		[--error-unmatch] [--with-tree=<tree-ish>]
		[--full-name] [--recurse-submodules]
		[--abbrev[=<n>]] [--format=<formato>] [--] [<arquivo>…​]

DESCRIÇÃO

Este comando mescla a lista dos arquivos no índice com a lista real dos diretórios de trabalho e mostra as diferentes combinações dos dois.

Diversos sinalizadores podem ser usados para determinar quais arquivos serão mostrados e cada arquivo pode ser impresso várias vezes se houver várias entradas no índice ou se vários status forem aplicáveis às opções de seleção de arquivo relevantes.

OPÇÕES

-c
--cached

Mostra todos os arquivos armazenados em cache no índice do Git, ou seja, todos os arquivos rastreados. (Este é o padrão caso nenhuma opção -c/-s/-d/-o/-u/-k/-m/--resolve-undo seja especificada.)

-d
--deleted

Mostra arquivos com uma exclusão não preparada

-m
--modified

Mostra os arquivos com uma modificação não preparada (observe que uma exclusão não preparada também conta como uma alteração não preparada)

-o
--others

Exibe os outros arquivos (não monitorados) na saída

-i
--ignored

Exibe apenas os arquivos que foram ignorados na saída. Deve ser usado de forma explícita com um -c ou -o. Ao mostrar arquivos no índice (ou seja, quando usar -c), mostre apenas os arquivos que correspondem a um padrão de exclusão. Ao mostrar "outros" arquivos (ou seja, quando usar -o), mostre apenas aqueles que correspondam a um padrão de exclusão. As regras predefinidas para ignorar não são ativadas automaticamente, portanto, pelo menos uma das opções --exclude* é obrigatória.

-s
--stage

Exibe os bits do modo do conteúdo escalonado, o nome do objeto e o número do estágio na saída.

--directory

Caso um diretório inteiro seja classificado como "other" (outro), exibe apenas o seu nome (com uma barra à direita) e não todo o seu conteúdo. Não tem qualquer efeito sem -o/--others.

--no-empty-directory

Não liste os diretórios vazios. Não tem efeito sem a opção --directory.

-u
--unmerged

Mostra informações sobre arquivos não foram mesclados na saída, mas não mostra nenhum outro arquivo rastreado (impõem o uso da opção --stage, substitui a opção --cached).

-k
--killed

Mostra os arquivos não rastreados no sistema de arquivos que precisam ser removidos por causa de conflitos do arquivo/diretório para que os arquivos rastreados possam ser gravados.

--resolve-undo

Mostra os arquivos com informações de resolução-desfazer no índice junto com suas informações de resolução-desfazer. (as informações de resolução-desfazer são usadas para implementar o "git checkout -m $PATH", ou seja, para recriar conflitos de mesclagem que foram resolvidos de forma acidental)

-z

A terminação \0 da linha na saída e não cita os nomes dos arquivos. Consulte SAÍDA abaixo para obter mais informações.

--deduplicate

Quando apenas os nomes dos arquivos são mostrados, suprima as duplicatas que poderiam vir de vários estágios durante uma mesclagem ou passando as opções --deleted e --modified ao mesmo tempo. Esta opção não tem efeito algum quando qualquer uma das opções -t,--unmerged ou --stage estiver em uso.

-x <padrão>
--exclude=<padrão>

Ignora o padrão de correspondência dos arquivos não monitorados. Observe que o padrão é um padrão curinga do shell. Consulte EXCLUIR PADRÕES abaixo para obter mais informações.

-X <arquivo>
--exclude-from=<arquivo>

Leia os padrões de exclusão do <arquivo>; 1 por linha.

--exclude-per-directory=<arquivo>

Leia os padrões de exclusão adicionais que se aplicam apenas ao diretório e aos seus subdiretórios no <arquivo>. Descontinuado; em vez disso use --exclude-standard.

--exclude-standard

Adicione as exclusões padrão do Git: .git/info/exclude, .gitignore em cada diretório e o arquivo de exclusão global do usuário.

--error-unmatch

Caso algum <arquivo> não apareça no índice, trate isso como um erro (retorno 1).

--with-tree=<árvore>

Ao utilizar o comando --error-unmatch para expandir os argumentos <arquivo> (padrão do caminho por exemplo) argumentos para os caminhos, finja que os caminhos que foram removidos no índice desde que a <árvore> ainda esteja presente. Utilizar esta opção com as opções -s ou -u não faz nenhum sentido.

-t

Mostra as tags da condição geral junto com os nomes dos arquivos. Observe que para fins de uso com script, git-status[1] --porcelain e git-diff-files[1] --name-status são quase sempre as maiores alternativas, os usuários devem olhar para o git-status[1] --short ou git-diff[1] --namename-status para as alternativas mais amigáveis.

Esta opção fornece um motivo para mostrar cada nome de arquivo em forma de uma tag de status (que é seguida por um espaço e, em seguida, o nome do arquivo). As tags de status são todas com caracteres únicos a partir da lista a seguir:

H

um arquivo rastreado que não seja não mesclado "unmerged" ou "skip-worktree"

S

arquivo rastreado que é "skip-worktree"

M

o arquivo rastreado que não foi mesclado

R

arquivo rastreado com remoção/exclusão não preparada

C

arquivo rastreado com modificação/alteração não preparada

K

caminhos não rastreados que fazem parte de conflitos do arquivo/diretório que impedem o check-out dos arquivos rastreados

?

arquivo não rastreado

U

arquivo com informações de resolução-desfazer

-v

Semelhante ao -t, porém utilize as letras minúsculas para os arquivos marcados como assume unchanged ou assuma que não foi alterado (consulte git-update-index[1]).

-f

Semelhante ao -t, porém utilize as letras minúsculas para os arquivos marcados como fsmonitor valid ou fsmonitor válido (consulte git-update-index[1]).

--full-name

O comando geralmente gera caminhos relativos ao diretório atual ao ser executado a partir de um subdiretório. Esta opção impõem que os caminhos saiam relativos ao topo do diretório do projeto.

--recurse-submodules

Chama recursivamente os ls-files em cada submódulo no repositório. Atualmente, há apenas suporte para os modos --cached e --stage.

--abbrev[=<n>]

Em vez de exibir as linhas do objeto hexadecimal com 40 bytes, exibe o prefixo mais curto que se refira de forma única ao objeto e que tenha até <n> hexdigits. Um número não predefinido dos dígitos podem ser definidos com --abbrev=<n>.

--debug

Após cada linha que descreve um arquivo, adicione mais dados sobre a sua entrada no cache. O objetivo é exibir o máximo de informações possíveis para a inspeção manual; o formato exato pode mudar a qualquer momento.

--eol

Exibe o <eolinfo> e o <eolattr> dos arquivos. O <eolinfo> é a identificação do conteúdo do arquivo utilizado pelo Git quando o atributo "text" for "auto" (ou não está definido e o core.autocrlf não for falso). O <eolinfo> é "-text", "none", "lf", "crlf", "mixed" ou "".

"" significa que o arquivo não é um arquivo comum, não está no índice ou não está acessível na árvore de trabalho.

O <eolattr> é o atributo utilizado ao efetuar a averiguação ou fazer o commit, é também "", "-text", "text", "text=auto", "text eol=lf", "text eol=crlf". Desde o Git 2.10, "text=auto eol=lf" e "text=auto eol=crlf" são compatíveis.

Ambos os <eolinfo> no índice ("i/<eolinfo>") e na árvore de trabalho ("w/<eolinfo>") são exibidos para os arquivos regulares, seguidos pelo ("attr/<eolattr>").

--sparse

Caso o índice seja esparso, mostre os diretórios esparsos sem expandir aos arquivos contidos. Os diretórios esparsos serão mostrados com uma barra, como "x/" para um diretório esparso "x".

--format=<formato>

Uma string que interpola %(fieldname) do resultado que está sendo mostrado. Ele também interpola %% para %, e %xx onde xx são dígitos hexadecimais interpolados para o caractere com código hexadecimal xx; por exemplo, %00 interpola para \0 (NUL), %09 para \t (TAB) e %0a para \n (LF). A opção`--format` não pode ser combinado com -s, -o, -k, -t, --resolve-undo e --eol.

--

Não interprete mais argumentos como opções.

<arquivo>

Arquivos para exibir. Caso nenhum arquivo seja informado, todos os arquivos que coincidam com outros critérios informados serão mostrados.

SAÍDA

git ls-files apenas gera os nomes dos arquivos, a menos que a opção --stage seja utilizado; nesse caso, ele gera:

[<tag> ]<modo> <objeto> <estágio> <arquivo>

git ls-files --eol will show i/<eolinfo><SPACES>w/<eolinfo><SPACES>attr/<eolattr><SPACE*><TAB><arquivo>

Os comando git ls-files --unmerged e o git ls-files --stage podem ser utilizados para examinar as informações detalhadas sobre os caminhos não mesclados.

Para um caminho que não foi mesclado, em vez de gravar um único modo/ par SHA-1 pair, o índice registra até três desses pares; um da árvore O no estágio 1, A no estágio 2 e B no estágio 3. Esta informação pode ser utilizada pelo usuário (ou pela porcelana) para ver o quê eventualmente deverá ser registrado no caminho. (para mais informações sobre estado/condição consulte git-read-tree[1]

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.

É 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-files --format='%(objectname) %(caminho)'

NOME DOS CAMPOS

A maneira como cada caminho é mostrado pode ser personalizada ao usar a opção --format=<formato>, onde o %(fieldname) na string <formato> são interpolados nos vários aspectos da entrada do índice. Os seguintes "fieldname" são compreendidos:

objectmode

O modo do arquivo que está registrado no índice.

objecttype

O tipo de objeto do arquivo que está registrado no índice.

objectname

O nome do arquivo que está registrado no índice.

objectsize[:padded]

O tamanho do objeto do arquivo que está registrado no índice ("-" se o objeto for um commit ou tree). Ele também oferece suporte a um formato de tamanho preenchido com "%(objectsize:padded)".

estágio

O estágio do arquivo que é registrado no índice.

eolinfo:index
eolinfo:worktree

O <eolinfo> (consulte a descrição da opção --eol) do conteúdo no índice ou para o caminho na árvore de trabalho.

eolattr

O <eolattr> (consulte a descrição da opção --eol) que se aplica ao caminho.

caminho

O nome do caminho do arquivo que está registrado no índice.

EXCLUIR PADRÕES

O git ls-files pode utilizar uma lista de "padrões de exclusão" ao percorrer a árvore dos diretórios e localizar os arquivos para exibir quando as opções --others ou --ignored são utilizados. gitignore[5] determina o formato dos padrões de exclusão.

Geralmente, você deve usar apenas o comando --exclude-standard, mas por razões históricas, os padrões de exclusão podem ser especificados a partir dos seguintes lugares na ordem:

  1. A opção da linha de comando --exclude=<padrão> define um único padrão. Os padrões são ordenados na mesma ordem em que aparecem na linha de comando.

  2. A opção da linha de comando --exclude-from=<arquivo> define um arquivo que contém uma lista de padrões. Os padrões são ordenados na mesma ordem em que aparecem no arquivo.

  3. A opção da linha de comando --exclude-per-directory=<nome> define um nome do arquivo em cada diretório que o comando git ls-files examina, normalmente .gitignore. Os arquivos nos diretórios mais profundos têm precedência. Os padrões são ordenados na mesma ordem em que aparecem nos arquivos.

Um padrão definido na linha de comandos com --exclude ou lido do arquivo definido com --exclude-from é relativo ao topo da árvore de diretórios. Um padrão lido de um arquivo definido com --exclude-per-directory é relativo ao diretório em que o padrão do arquivo aparece.

GIT

Parte do conjunto git[1]

scroll-to-top