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:
- This fork was catalyzed by https://github.com/nicolgit/gits-statuses/issues/1
- This is meant to implement the exact functionality but in a single CLI executable
gitskanis renamed as to not conflict withgits-statuses
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 filesClean= No changes, fully synchronized
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitskan-0.0.1.tar.gz.
File metadata
- Download URL: gitskan-0.0.1.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d84fc227533faf42bc7c4f6ac834083dc52a99119386b5b4d85436b38c68a83
|
|
| MD5 |
b8b428688db26fcac72c8a74f7f1b9cd
|
|
| BLAKE2b-256 |
9737f6ed748b6d0ac1c4ec260d1744fcb5b40a4f897af14b70016a34b987aa1e
|
File details
Details for the file gitskan-0.0.1-py3-none-any.whl.
File metadata
- Download URL: gitskan-0.0.1-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70ff7b294f01d505eb6a18cce9127d3b7c48e25133ef1dfa04a2dca551de5877
|
|
| MD5 |
ace17539485d16583c900d6eb0fc7ec3
|
|
| BLAKE2b-256 |
dad4b7be63158877f98af3818fdf1072f083c8182be8117390c58028aa14acbf
|