Skip to main content

A CLI tool to scan directories for Git repositories and display their status information.

Project description

gitskan - Git Repository Status Scanner

A CLI tool for scanning directories and displaying Git repository status information. gitskan is a fork of gits-statuses which provides a comprehensive overview of all your Git repositories in a clean, tabular format.

Notes:

Features

This scans your directories and displays:

Standard View:

  • Repository name
  • Current branch
  • Commits ahead of remote
  • Commits behind remote
  • Changed files count
  • Untracked files count
  • Only shows repositories with changes (clean repos are hidden)

Detailed View:

  • All columns from standard view
  • Total commits count
  • Status summary (e.g., "↑1 ~2 ?3" for 1 ahead, 2 changed, 3 untracked)
  • Remote URL
  • Shows ALL repositories (including clean ones)

Enhanced Summary:

  • Total repositories found
  • Repositories with changes
  • Repositories ahead of remote
  • Repositories behind remote
  • Repositories with untracked files

Installation

Prerequisites

Install with uv (Recommended)

Note: This is only being temporarily published as an OS CLI tool to PyPi to showcase how it can be distributed and used. If this fork can be merged, I would take this down and hand it off to the original author!

# Install uv if you haven't already
pip install uv # or brew install uv on mac

# Install gitskan
uv tool install gitskan

# Verify installation
gitskan --help

Install from Source

# Clone the repository
git clone https://github.com/jairus-m/gitskan.git
cd gits-statuses

# Or install for production
uv pip install .

Usage

Basic Commands

# Basic usage - scan current directory
gitskan scan

# Detailed view with remote URLs and total commits
gitskan scan --detailed

# Scan a specific directory
gitskan scan --path /path/to/projects

# Show help
gitskan --help
gitskan scan --help

Examples

Standard view (shows only repositories with changes):

Repository    | Branch | Ahead | Behind | Changed | Untracked
-------------------------------------------------------------
gits-statuses | main   | 1     |        | 1       | 1        
my-project    | dev    | 2     |        | 3       | 2        
web-app       | main   |       | 2      | 1       |          

Summary:
  Total repositories: 5
  Repositories with changes: 3
  Repositories ahead of remote: 2
  Repositories behind remote: 1
  Repositories with untracked files: 2

Detailed view (shows all repositories):

Repository    | Branch | Ahead | Behind | Changed | Untracked | Total Commits | Status   | Remote URL                               
---------------------------------------------------------------------------------------------------------------
api-service   | main   |       |        |         |           | 45            | Clean    | https://github.com/user/api-service
gits-statuses | main   | 1     |        | 1       | 1         | 9             | ↑1 ~1 ?1 | https://github.com/nicolgit/gits-statuses
my-project    | dev    | 2     |        | 3       | 2         | 67            | ↑2 ~3 ?2 | https://github.com/user/my-project
utils-lib     | main   |       |        |         |           | 23            | Clean    | https://github.com/user/utils-lib
web-app       | main   |       | 2      | 1       |           | 102           | ↓2 ~1    | https://github.com/user/web-app

Summary:
  Total repositories: 5
  Repositories with changes: 3
  Repositories ahead of remote: 2
  Repositories behind remote: 1
  Repositories with untracked files: 2

Status Symbols

  • ↑n: n commits ahead of remote
  • ↓n: n commits behind remote
  • ~n: n changed files (modified/added/deleted)
  • ?n: n untracked files
  • Clean: Repository has no pending changes

Examples:

  • ↑2 ~1 ?3 = 2 commits ahead, 1 changed file, 3 untracked files
  • ↓1 ~2 = 1 commit behind, 2 changed files
  • Clean = No changes, fully synchronized

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

gitskan-0.0.2.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

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

gitskan-0.0.2-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file gitskan-0.0.2.tar.gz.

File metadata

  • Download URL: gitskan-0.0.2.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.15

File hashes

Hashes for gitskan-0.0.2.tar.gz
Algorithm Hash digest
SHA256 98b5cd3e6a3bfd96ef835886a843d66796c24fc6eb6939f5329b93cabfcd080a
MD5 306c665f5cb33b579df35aa8baf29ef0
BLAKE2b-256 1c8182bab40e5b62375180f2d2e53c911836738c33cc5d971d93040e4d095952

See more details on using hashes here.

File details

Details for the file gitskan-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: gitskan-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.15

File hashes

Hashes for gitskan-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3c216eb10780150560cdd84b8c660688e8365744914c4bfbbcb1c0efdf4b5521
MD5 1fb0f62c7d2b29cf3b754b3555dfe333
BLAKE2b-256 fb8e7d26169679e5f5d8b47aad7de2a886af0d825061d69908ed6670d1e29910

See more details on using hashes here.

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