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
Metadata
Release files for git-glance 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| git_glance-1.3.0.tar.gz | 11.9 kB | Without provenance | Details for git_glance-1.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| git_glance-1.3.0-py3-none-any.whl | Python 3 | none | any | Details for git_glance-1.3.0-py3-none-any.whl |
Total release size: 23.4 kB
Release files / git_glance-1.3.0.tar.gz
| Download URL | git_glance-1.3.0.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
46c8ba69805ed3aaa28992b40425ef58ece4ccbffd810eb24cebe5709c5366f2
|
|
BLAKE2b-256 checksum How to use checksums |
4506f3d2b3a2b1152c56d1e3aeb52f3b1848e149806206fd7176de017d7e3317
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.7
|
Release files / git_glance-1.3.0-py3-none-any.whl
| Download URL | git_glance-1.3.0-py3-none-any.whl |
|---|---|
| Size | 11.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
82d01833e81c4be6b3e496cafd2d7c038bc388d32d38fec9b8fbb35fb142d085
|
|
BLAKE2b-256 checksum How to use checksums |
163302863f9c081c02104ad6f8072e875fbfd9105633708d4994439c5490a8ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.7
|
Security for git-glance 1.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.