Summarize the current branch and local/remote state of every Git repository below a directory.
Requires Node.js 22+ and Git. No Bash or GNU utilities are required; macOS, Linux, and native Windows terminals are supported.
npm install --global git-summarygit-summary [options] [path]
-h, --help Show help
-l, --local Do not fetch remotes
-d, --deep Search recursively
-q, --quiet Show changed repositories only
-f, --full-path Show absolute repository paths
-s, --sorted Sort output (default; compatibility option)The path defaults to the current directory. The default search checks it and immediate children; --deep searches the full tree. Labels are relative to the searched directory unless --full-path is used. Directory symlinks and Git worktrees are supported.
Unless --local is used, repositories with an upstream are fetched. Failed fetches warn and continue with cached refs.
| Character | Meaning |
|---|---|
? |
untracked files |
+ |
added files |
M |
other tracked changes |
v |
commits available to pull |
^ |
commits available to push |
-- |
no upstream |
Colors are disabled for redirected output or when NO_COLOR is set.
Forked from MirkoLedda/git-summary, based on work by lordadamson and mzabriskie.
Bump the package version before merging to main. The publish workflow validates the package, skips versions already on npm, and publishes new versions; it does not create or push Git tags.
Configure npm Trusted Publishing for user iamdevlinph, repository git-summary-sh, workflow publish.yml, no environment, and the npm publish permission. Do not configure an NPM_TOKEN or NODE_AUTH_TOKEN.