node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


Staged Git Files

This module returns an array of staged files and their status acording to git.


npm install staged-git-files

var sgf = require("staged-git-files");
sgf(function(err, results){

Example Results

        "filename": "package.json",
        "status": "Added"
        "filename": "",
        "status": "Modified"
        "filename": "index.js",
        "status": "Renamed"

Usage as a cli

$ staged-git-files
Added package.json
Renamed index.js


sgf(filter, callback)

Get a list of staged git files

  • filter: string of git status codes. No spaces
  • callback:
    • err: the error
    • results: file object array.


Get head that will be used in the diff to ID which files are waiting to be staged.

  • callback
    • err: the error
    • head: the git commit id which is aliased to head.

sgf.readFile(filename, [options], callback)

This is a proxy for fs.readFile with one change. The filename will be relative to the sgf.cwd


Boolean that flips logging on and off. By default this is false. If true, all git commands will be console logged.


If true, include content will add a content or err param to the file object.

  • Default Value: false
  • Content Param: the content of the file staged
  • Err Param: the error message received while trying to read the file.


The current working directory. AKA: where the .git folder you care about is.

Default Value: is equal to process.cwd() of your app.g


SGF-Status (git status code)

  • Added (A)
  • Copied (C)
  • Deleted (D)
  • Modified (M)
  • Renamed (R)
  • Type-Change (T) [i.e. regular file, symlink, submodule, etc.]
  • Unmerged (U)
  • Unknown (X)