gitgit-diffgit-statusgit-stage

Git list of staged files


I staged a lot of files using git add, and now I want to see all the files I have staged, without untracked files or changed, but unstaged files.

How do I do that? When using git diff --cached I can see the changes of what I just staged. So then I tried using git status --cached, but that --cached unfortunately doesn't work on git status.


Solution

  • The best way to do this is by running the command:

    git diff --name-only --cached
    

    When you check the manual you will likely find the following:

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

    And on the example part of the manual:

    git diff --cached
        Changes between the index and your current HEAD.
    

    Combined together, you get the changes between the index and your current HEAD and Show only names of changed files.

    --staged is also available as an alias for --cached above in more recent Git versions.

    NB: This can be combined with --diff-filter to only show (filter) staged files that are added (A), modified (M) etc.

    git diff --name-only --cached --diff-filter=AM