Provided by: mgitstatus_2.2+dfsg-2_all
NAME
mgitstatus - Show uncommitted, untracked and unpushed changes for multiple Git repos.
SYNOPSIS
mgitstatus [--version] [-w] [-e] [-f] [--throttle SEC] [-c] [-d/--depth=2] [--flatten] [--no-X] [DIR [DIR]...]
DESCRIPTION
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: • Uncommitted changes if there are unstaged or uncommitted changes on the checked out branch. • Untracked files if there are untracked files which are not ignored. • Needs push (BRANCH) if the branch is tracking a (remote) branch which is behind. • Needs upstream (BRANCH) if a branch does not have a local or remote upstream branch configured. Changes in the branch may otherwise never be pushed or merged. • Needs pull (BRANCH) if the branch is tracking a (remote) branch which is ahead. This requires that the local git repo already knows about the remote changes (i.e. you’ve done a fetch), or that you specify the -f option. mgitstatus does NOT contact the remote by default. • X stashes if there are stashes. 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.
OPTIONS
--version Show version -w Warn about dirs that are not Git repositories -e Exclude repos that are `ok' -f Do a `git fetch' on each repo (slow for many repos) --throttle SEC Wait SEC seconds between each `git fetch' (-f option) -c 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 --flatten Flatten output by only showing one status per line. If a repo has multiple statuses, multiple lines are shown for that repo. This aids in grepability. You can limit output with the following options: --no-push Do not show branches that need a push. --no-pull Do not show branches that need a pull. --no-upstream Do not show branches that need an upstream. --no-uncommitted Do not show branches that have unstaged or uncommitted changes. --no-untracked Do not show branches that have untracked files. --no-stashes Do now show stashes --no-ok Do now show repos that are `ok' (same as -e)
EXAMPLES
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
Copyright 2016-2022, Ferry Boender (et al). Licensed under the MIT license. For more information, see the LICENSE.txt file.
AUTHORS
Ferry Boender. Mar 2022 MGITSTATUS(1)