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
- 2.44.1 → 2.45.2 no changes
- 2.44.0
02/23/24
- 2.43.1 → 2.43.5 no changes
- 2.43.0
11/20/23
- 2.42.1 → 2.42.3 no changes
- 2.42.0
08/21/23
- 2.40.1 → 2.41.2 no changes
- 2.40.0
03/12/23
- 2.39.1 → 2.39.5 no changes
- 2.39.0
12/12/22
- 2.38.1 → 2.38.5 no changes
- 2.38.0
10/02/22
- 2.36.1 → 2.37.7 no changes
- 2.36.0
04/18/22
- 2.35.1 → 2.35.8 no changes
- 2.35.0
01/24/22
- 2.31.1 → 2.34.8 no changes
- 2.31.0
03/15/21
- 2.30.2 → 2.30.9 no changes
- 2.30.1
02/08/21
- 2.30.0
12/27/20
- 2.27.1 → 2.29.3 no changes
- 2.27.0
06/01/20
- 2.22.1 → 2.26.3 no changes
- 2.22.0
06/07/19
- 2.18.1 → 2.21.4 no changes
- 2.18.0
06/21/18
- 2.17.0 → 2.17.6 no changes
- 2.16.6
12/06/19
- 2.14.6 → 2.15.4 no changes
- 2.13.7
05/22/18
- 2.12.5 no changes
- 2.11.4
09/22/17
- 2.10.5
09/22/17
- 2.9.5
07/30/17
- 2.8.6
07/30/17
- 2.2.3 → 2.7.6 no changes
- 2.1.4
12/17/14
- 2.0.5
12/17/14
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 ocore.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
ondexx
são dígitos hexadecimais interpolados para o caractere com código hexadecimalxx
; 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
outree
). 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:
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.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.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]