A CLI tool to track multiple Git repositories
Project description
Git-Glance
A simple yet powerful CLI tool to glance over multiple Repositories
██████╗ ██╗████████╗ ██████╗ ██╗ █████╗ ███╗ ██╗ ██████╗███████╗
██╔════╝ ██║╚══██╔══╝ ██╔════╝ ██║ ██╔══██╗████╗ ██║██╔════╝██╔════╝
██║ ███╗██║ ██║ █████╗██║ ███╗██║ ███████║██╔██╗ ██║██║ █████╗
██║ ██║██║ ██║ ╚════╝██║ ██║██║ ██╔══██║██║╚██╗██║██║ ██╔══╝
╚██████╔╝██║ ██║ ╚██████╔╝███████╗██║ ██║██║ ╚████║╚██████╗███████╗
╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝╚══════╝
Features
- Quickly see the status of multiple Repositories
- Track/untrack Repositories by path and alias
- See fetch/pull/push info, latest commit, author, and more
- Beautiful Rich + Tree UI Layout
- Simple CLI with Typer and Rich
Requirements
- Python
>=3.7
[!IMPORTANT] Git installed and available in
PATH
Getting Started
1. Clone the Repository
git clone https://github.com/harsh-thota/Git-Glance.git
cd ~/path/to/git-glance
2. Create and Activate a Virtual Environment
Windows:
python -m venv .venv
.venv\Scripts\Activate
macOS / Linux:
python3 -m venv .venv
source .venv/bin/activate
3. Install the Project in Editable Mode
pip install -e .
4. Verify it Works
Once installed, try running:
git-glance list
If you see an error like "command not found", make sure your virtual environment is still activated and
~/.local/bin(on macOS/Linyx) is in yourPATH
You can check where git-glance CLI is installed I think
which git-glance # Linux/macOS
where git-glance # Windows CMD/Powershell
Usage
List Tracked Repositories
Shows a table of all Git Repositories currently being tracked
git-glance list
Add a New Repository
Adds a Git Repository to the tracking list
git-glance add <path-to-repo> <alias>
# Example: git-glance add ~/projects/my-cool-repo cool-repo
Scan a Directory to Add a Repository
Recursively scans a directory for Git Repositories and adds them to be tracked
git-glance scan <a-directory>
Remove a Repository
Removes a Repository from the tracking list
git-glance remove --path <path>
# or
git-glance remove --alias <alias>
Fetch Remote Updates
Performs a git-fetch on all tracked Repositories to check for upstream changes
git-glance fetch
Check Status of All Tracked Repositories
Displays a rich, color-coded summary table for all repos -- including branch, uncommitted changes, push/pull status, etc
git-glance status
Detailed View for a Single Repository
Shows detailed info for one repo inlcuding:
- Commit Hash and message
- Author and date
- Remote info
- Uncommitted/unpushed changes
- Whether its up-to-date with the remote
git-glance status --only <alias>
# Example: git-glance status --only cool-repo
Remove Invalid or Deleted Git Repositories from the Tracking List
Goes through the tracking list for paths that don't exist or paths that are not Git Repositories
git-glance clean
Manage Git Config File
Reset or ask to show the git config file in a rich format
git-glance --reset True
# or
git-glance --show True
Rename Aliases
Rename the alias of a tracked Repository
git-glance <old-alias> <new-alias>
Open a Repository
Opens a tracked Repository in the system file manager
git-glance <alias>
Commit Summary
Show latest N commits for tracked Repositories or a single Repository (default N = 5)
git-glance commit-summary
# or
git-glance commit-summary --alias <alias>
# or
git-glance commit-summary --alias <alias> --count <N-value>
Difference
Show uncommitted changes (diff) for one or all tracked Repositories
git-glance diff
# or
git-glance diff <alias>
Get Stale Repositories
Shows Repositories with no commits in the last N days (default N = 10)
git-glance stale
# or
git-glance --days <N-value>
Pull from Remote
Pull latest changes from remote for all or specific Repository
git-glance pull
# or
git-glance pull --only <alias>
Push to Remote
Push local commits to remote for all or specific Repository
git-glance push
# or
git-glance push --only <alias>
Help
Get list of all commands available to use
git-glance --help
Get help with a specific command
git-glance <command> --help
Notes
Added 9 more commands. Updated README.md. Cleaned up parts of code. Additional git and config helper methods
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 git_glance-1.3.0.tar.gz.
File metadata
- Download URL: git_glance-1.3.0.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46c8ba69805ed3aaa28992b40425ef58ece4ccbffd810eb24cebe5709c5366f2
|
|
| MD5 |
2e5f3f1bcf2a1fc655d987cbb31fb597
|
|
| BLAKE2b-256 |
4506f3d2b3a2b1152c56d1e3aeb52f3b1848e149806206fd7176de017d7e3317
|
File details
Details for the file git_glance-1.3.0-py3-none-any.whl.
File metadata
- Download URL: git_glance-1.3.0-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82d01833e81c4be6b3e496cafd2d7c038bc388d32d38fec9b8fbb35fb142d085
|
|
| MD5 |
df553cbbf15013414c0f3ab480bea917
|
|
| BLAKE2b-256 |
163302863f9c081c02104ad6f8072e875fbfd9105633708d4994439c5490a8ae
|