Skip to main content

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 your PATH

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)

Source distribution for git-glance 1.3.0
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)

Table of built distributions (wheels) for git-glance 1.3.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page