Lista Git de arquivos testados


112

I fizeram uma grande quantidade de arquivos usando git add, agora eu quero ver todos os arquivos que eu encenado, sem untracked arquivos ou alterados, mas unstaged arquivos.

Como faço isso? Ao usar git diff --cachedposso ver as mudanças do que acabei de encenar. Então tentei usar, git status --cachedmas --cachedinfelizmente não funcionou git status.


4
a simples digitação git statusfornece uma lista de arquivos testados, uma lista de arquivos modificados, mas não testados, e uma lista de arquivos não rastreados.
houtanb


@houtanb, git statusmostra um diff. (Não mostra todos os arquivos testados).
Pacerier

Respostas:


199

A melhor maneira de fazer isso é executando o comando:

git diff --name-only --cached

Ao verificar o manual, você provavelmente encontrará o seguinte:

--name-only
    Show only names of changed files.

E na parte de exemplo do manual:

git diff --cached
    Changes between the index and your last commit.

Combinados, você obtém o changes between the index and your last commiteShow only names of changed files.

Update: --stagedtambém está disponível como um alias para --cachedacima em versões mais recentes do git.


13
Isso é realmente útil porque permite que você obtenha uma lista de nomes de arquivos que você pode (no meu caso) canalizar para um linter em um gancho de pré-confirmação.
walrus

5
Se você adicionar arquivos com git add -N [files], isso inclui aqueles também, embora eles ainda não tenham sido testados para confirmação. Como tal, não é exatamente o que queremos para um gancho de pré-confirmação.
Pistos de

re " última confirmação "; Enganador. Melhor dizer git diff --cachedé a abreviação degit diff --cached head
Pacerier
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.