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.1.0.tar.gz (18.7 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.1.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ggit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e6a0f90d5591fd0c8079052fea7d0d75f7f173d1b6ee5ac3e27ef6ab71634b73
MD5 21e180cf6ad885dcd0574b01c5d6a0de
BLAKE2b-256 a421b02e0ebd1b42a87f81f3b32dbb2dc09167868085e21f1a45c9d48775a044

See more details on using hashes here.

Provenance

The following attestation bundles were made for ggit-0.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: ggit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33b0d2d39588d1cd34e937598f5627c772cc2514caaa750e45fa9e0ecf30d5b3
MD5 88c9897dbb14107f9c7ab60f65cc8e9d
BLAKE2b-256 05fdd8cf556bf637b7d55e60931e9c01235e2b6a58fe43d306fd8ef97b5833ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for ggit-0.1.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