git count files in the staged index

I’m trying to figure out how to easily count the files in my uncommitted index.

I’ve tried:

  • Sparse checkout in Git 1.7.0?
  • Specifying the same gem twice for development/test and production but different paths
  • Xcode 7 doesn't show new remote branches using Git
  • How does Github allow for inline file editing? (Or how to add or edit files in a bare git repository)
  • git clean -f -d removed files from my local directory
  • View commits on a new branch in the update hook
  • git status | grep '#' | wc -l
    

    but there are a few lines that start with # that don’t represent changed files. Anyone got anything better? Figured there had to be a flag for git status to do this.

    Even tools like GitX don’t easily allow you to select the staged files/directories and see how many of them there are.

  • How do I pipe a git clone to archive (tar or gzip)
  • git: dangling blobs
  • Git error: conq: repository does not exist
  • Which files in .idea folder should be tracked by Git?
  • GIT Pull deleted my commit
  • On building jenkins project timeout after 10 minute error happens
  • 4 Solutions collect form web for “git count files in the staged index”

    If you want something a script can use:

    git diff --cached --numstat | wc -l

    If you want something human readable:

    git diff --cached --stat

    This worked for me:

    git status | grep 'modified:' | wc -l

    it returns a number

    Try git status -s:

    git status -s | egrep "^M" | wc -l
    

    M directly after start of line (^) indicates a staged file. “^ M” would be an unstaged but changed file.

    For what it’s worth, I prefer:

    git diff --stat | tail -n1
    

    Outputs something like:

    10 files changed, 74 insertions(+), 123 deletions(-)
    
    Git Baby is a git and github fan, let's start git clone.