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.

Timon de Groot
fonte
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
semelhante a: stackoverflow.com/questions/1587846/…
rickfoosusa
@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.

Timon de Groot
fonte
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