git-summary summarizes the status of all cloned git repositories founds within a directory (or your entire system). See an example screenshot below:
- Linux
- MacOS
- Cygwin
- SunOS
- Alpine based containers on Google Cloud Platform - Container Optimised OS (Chromium OS)
sudo apt-get install gawk
brew install coreutils
apk add gawk findutils
xargs in Chromium OS does not support -L option, findutils puts an xargs with support for -L
Clone this repo somewhere and alias the script by adding this line to ~\.bashrc
(modify $PATH
to point to the location of the cloned repo on your machine):
alias git-summary='<PATH>/git-summary/git-summary'
General usage:
git-summary [options] path
path
is optional and the current directory will be used if left blank.
- -h: Print help and exit.
- -l: Local summary lookup. Checks only local changes which is faster as there is no need to fetch the remote.
- -d: Deep lookup. Look for any git repos within the entire current directory tree. Can be slowish for large trees.
- -q: Quiet mode. Only print outdated repos.
- -s: Sorted output. (Slower as it runs sequentially to avoid race conditions).
- -f: Print full repo paths instead of relative ones.
Currently, git-summary
does not list multiple branches per repo. However, for single repos git-branch-status
does this beautifully.
A big thanks 🤘 to the amazing people that contributed to the original versions of git-summary
:
- Forked from lordadamson
- mzabriskie (Posted the original idea here)
- CycleMost
- lmj0011
- gimbo
- zartc
Additional thanks go to:
- ruricolist - Cygwin support and quiet mode.
- romainreignier and tobiasw1 - Sorted output.
- timendum - Symlink support.
- auphofBSF - Alpine based containers support.
- gaige - SunOS support.
- PontusPih - Relative repo paths.