Skip to main content

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

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

git_glance-1.3.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

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

git_glance-1.3.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

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

Hashes for git_glance-1.3.0.tar.gz
Algorithm Hash digest
SHA256 46c8ba69805ed3aaa28992b40425ef58ece4ccbffd810eb24cebe5709c5366f2
MD5 2e5f3f1bcf2a1fc655d987cbb31fb597
BLAKE2b-256 4506f3d2b3a2b1152c56d1e3aeb52f3b1848e149806206fd7176de017d7e3317

See more details on using hashes here.

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

Hashes for git_glance-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 82d01833e81c4be6b3e496cafd2d7c038bc388d32d38fec9b8fbb35fb142d085
MD5 df553cbbf15013414c0f3ab480bea917
BLAKE2b-256 163302863f9c081c02104ad6f8072e875fbfd9105633708d4994439c5490a8ae

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