MGITSTATUS(1) | MGITSTATUS(1) |
mgitstatus - Show uncommitted, untracked and unpushed changes for multiple Git repos.
mgitstatus [--version] [-w] [-e] [-f] [--throttle SEC] [-c] [-d/--depth=2] [--flatten] [--no-X] [DIR [DIR]...]
mgitstatus shows uncommitted, 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.
You can limit output with the following options:
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
Sort output by repo name while retaining colors:
$ mgitstatus -c | sort ./ansible: ok ./ansible-cmdb: Needs push (master) Uncommitted changes Untracked files ./davis: ok ./espy: Uncommitted changes Untracked files ./garner: Untracked files ./garner-chains: ok ./mdpreview: ok
Sort output by repo status while retaining colors:
$ mgitstatus -c --flatten -e | sort -k2 ./fboender/ansible-cmdb: Uncommitted changes ./fboender/espy: Uncommitted changes ./fboender/multi-git-status: Uncommitted changes ./fboender/ansible-cmdb: Needs push (master) ./fboender/ansible-cmdb: Untracked files ./fboender/espy: Untracked files ./fboender/garner: Untracked files ./fboender/multi-git-status: Untracked files
Force color output and flatten the output so we can grep for things:
$ mgitstatus --flatten -c | grep Uncommitted ./fboender/multi-git-status: Uncommitted changes ./fboender/ansible-cmdb: Uncommitted changes ./fboender/espy: Uncommitted changes
Copyright 2016-2022, Ferry Boender (et al).
Licensed under the MIT license. For more information, see the LICENSE.txt file.
Ferry Boender.
Mar 2022 |