mgitstatus - Man Page

mgitstatus – Show uncommitted, untracked and unpushed changes for multiple Git repos.


mgitstatus [--version] [-w] [-e] [-f] [--no-X] [-d/--depth=2] [DIR [DIR]...]


mgitstatus shows uncommited, untracked and unpushed changes in multiple Git repositories. By default, mgitstatus scans two directories deep. This can be changed with the -d (--depth) option. If DEPTH is 0, the scan is infinitely deep.

mgitstatus shows:

Since there are a lot of different states a git repository can be in, mgitstatus makes no guarantees that all states are taken into account.



Show version


Warn about dirs that are not Git repositories


Exclude repos that are 'ok'


Do a 'git fetch' on each repo (slow for many repos)


Force color output (preserve colors when using pipes)

-d,  --depth=2

Scan this many directories deep. Default is 2. If 0, the scan is infinitely deep

You can limit output with the following options:


Do not show branches that need a push.


Do not show branches that need a pull.


Do not show branches that need an upstream.


Do not show branches that have unstaged or uncommitted changes.


Do not show branches that have untracked files.


Do now show stashes


The following command scans two directories deep for Git projects and shows their status:

$ mgitstatus 
./fboender/sla: ok 
./fboender/multi-git-status: Needs push (master) Untracked files
./other/peewee: ok 

To scan deeper (three dirs instead of two) in the current dir:

$ mgitstatus -d 3

The following command scans three levels deep in /opt/deploy/ and hides repos that are 'ok'. It does not show stashes:

$ mgitstatus -e --no-stashes -d 3 /opt/deploy

To ignore a repo, set the mgitstatus.ignore git configuration option for that repo to true. E.g.:

$ cd stupidrepo
$ git config --local mgitstatus.ignore true


Ferry Boender.


Jul 2019