Skip to main content

CLI to scan directories for git repositories and get a quick overview of their status

Project description

ggit

A CLI to scan directories for git repositories and get a quick overview of their status.

Install

uv tool install ggit

Usage

List repositories

Scan the current directory for git repos:

ggit list

Scan a specific directory:

ggit list ~/code

Example output:

┌──────────┬─────────────────────┬────────┬──────────┬────────────┬─────────────┐
│ Name     │ Path                │ Branch │ Branches │ Status     │ Last Commit │
├──────────┼─────────────────────┼────────┼──────────┼────────────┼─────────────┤
│ my-app   │ /home/user/my-app   │ main   │ 3/5      │ ● 2M 1?   │ 2026-02-25  │
│ dotfiles │ /home/user/dotfiles │ master │ 1/1      │ ✓          │ 2026-02-20  │
│ api      │ /home/user/api      │ feat   │ 4/8      │ ● 1+ ↑2   │ 2026-02-27  │
└──────────┴─────────────────────┴────────┴──────────┴────────────┴─────────────┘
Found 3 repositories

Status symbols: clean, M modified, + staged, ? untracked, ahead of remote.

Filter dirty or clean repos

# Only repos with uncommitted or unpushed changes
ggit list ~/code --dirty

# Only clean repos
ggit list ~/code --clean

Filter by branch count

# Repos with at least 5 local branches (time to clean up?)
ggit list ~/code --min-local-branches 5

Sort and reverse

ggit list ~/code --sort date --reverse

Sort by name (default), branch, or date.

Output as JSON

ggit list ~/code --json

Quiet mode

Output only repository paths, useful for piping:

ggit list ~/code --dirty --quiet | xargs -I{} git -C {} status

Get detailed info on a single repo

ggit info ./my-project
Repository: my-project
Current branch: main
Local branches: main, feat/auth, fix/typo
Remote branches: origin/main, origin/feat/auth
Last commit: 2026-02-27
Last fetch: 2026-02-26
Authors: Alice, Bob

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ggit-0.2.0.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ggit-0.2.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file ggit-0.2.0.tar.gz.

File metadata

  • Download URL: ggit-0.2.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ggit-0.2.0.tar.gz
Algorithm Hash digest
SHA256 80f22ae13ee8e1ec40562080132e2dae12ef0b03ad1650774995e2b98c96381d
MD5 de8610d99306a961c020cde56280419a
BLAKE2b-256 bb9062233aac22deeace94a9b7fda43b26f93a3ffcce5c4fb7549539f82579e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ggit-0.2.0.tar.gz:

Publisher: python-publish.yml on denrou/ggit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ggit-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ggit-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ggit-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f46626baae38c328d227dc1637dcc7035ac3fcae299ff590745ed68635c29a8a
MD5 f3c2934cac4d3120d67b0ae5241ec29b
BLAKE2b-256 5e7f271838f417d2e9ffe85f03b90dae2747ff3937d4f02da3e25d7e4be720b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ggit-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on denrou/ggit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page