git-glance


Namegit-glance JSON
Version 1.3.0 PyPI version JSON
download
home_pageNone
SummaryA CLI tool to track multiple Git repositories
upload_time2025-07-25 14:10:52
maintainerNone
docs_urlNone
authorHarshit Thota
requires_python>=3.7
licenseNone
keywords git cli tool rich typer
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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
```bash
git clone https://github.com/harsh-thota/Git-Glance.git
cd ~/path/to/git-glance
```
### 2. Create and Activate a Virtual Environment
#### Windows:
```bash
python -m venv .venv
.venv\Scripts\Activate
```
#### macOS / Linux:
```bash
python3 -m venv .venv
source .venv/bin/activate
```

### 3. Install the Project in Editable Mode
```bash
pip install -e .
```

### 4. Verify it Works
Once installed, try running:
```bash
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***
```bash
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
```bash
git-glance list
```
#### Add a New Repository
Adds a Git Repository to the tracking list
```bash
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
```bash
git-glance scan <a-directory>
```
#### Remove a Repository
Removes a Repository from the tracking list
```bash
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
```bash
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
```bash
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
```bash
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
```bash
git-glance clean
```
#### Manage Git Config File
Reset or ask to show the git config file in a rich format
```bash
git-glance --reset True
# or
git-glance --show True
```
#### Rename Aliases
Rename the alias of a tracked Repository
```bash
git-glance <old-alias> <new-alias>
```
#### Open a Repository
Opens a tracked Repository in the system file manager
```bash
git-glance <alias>
```
#### Commit Summary
Show latest N commits for tracked Repositories or a single Repository (default N = 5)
```bash
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
```bash
git-glance diff
# or
git-glance diff <alias>
```
#### Get Stale Repositories
Shows Repositories with no commits in the last N days (default N = 10)
```bash
git-glance stale
# or
git-glance --days <N-value>
```
#### Pull from Remote
Pull latest changes from remote for all or specific Repository
```bash
git-glance pull
# or
git-glance pull --only <alias>
```
#### Push to Remote
Push local commits to remote for all or specific Repository
```bash
git-glance push
# or
git-glance push --only <alias>
```
### Help
Get list of all commands available to use
```bash
git-glance --help
```
Get help with a specific command
```bash
git-glance <command> --help
```

## Notes
Added 9 more commands. Updated README.md. Cleaned up parts of code. Additional git and config helper methods

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "git-glance",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "git, cli, tool, rich, typer",
    "author": "Harshit Thota",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/45/06/f3d2b3a2b1152c56d1e3aeb52f3b1848e149806206fd7176de017d7e3317/git_glance-1.3.0.tar.gz",
    "platform": null,
    "description": "# Git-Glance\r\n> A simple yet powerful CLI tool to glance over multiple Repositories\r\n```\r\n    \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557      \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557      \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557   \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\r\n    \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d \u2588\u2588\u2551\u255a\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255d     \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d \u2588\u2588\u2551     \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2557  \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\r\n    \u2588\u2588\u2551  \u2588\u2588\u2588\u2557\u2588\u2588\u2551   \u2588\u2588\u2551  \u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551  \u2588\u2588\u2588\u2557\u2588\u2588\u2551     \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551\u2588\u2588\u2551     \u2588\u2588\u2588\u2588\u2588\u2557  \r\n    \u2588\u2588\u2551   \u2588\u2588\u2551\u2588\u2588\u2551   \u2588\u2588\u2551  \u255a\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2551   \u2588\u2588\u2551\u2588\u2588\u2551     \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2551\u255a\u2588\u2588\u2557\u2588\u2588\u2551\u2588\u2588\u2551     \u2588\u2588\u2554\u2550\u2550\u255d  \r\n    \u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2551   \u2588\u2588\u2551        \u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551  \u2588\u2588\u2551\u2588\u2588\u2551 \u255a\u2588\u2588\u2588\u2588\u2551\u255a\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\r\n    \u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u255d   \u255a\u2550\u255d         \u255a\u2550\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d\u255a\u2550\u255d  \u255a\u2550\u255d\u255a\u2550\u255d  \u255a\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u255d\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d\r\n```\r\n## Features\r\n- Quickly see the status of multiple Repositories\r\n- Track/untrack Repositories by path and alias\r\n- See fetch/pull/push info, latest commit, author, and more\r\n- Beautiful Rich + Tree UI Layout\r\n- Simple CLI with Typer and Rich\r\n\r\n## Requirements\r\n- Python `>=3.7`\r\n> [!IMPORTANT]\r\n> **Git installed and available in `PATH`**\r\n\r\n## Getting Started\r\n### 1. Clone the Repository\r\n```bash\r\ngit clone https://github.com/harsh-thota/Git-Glance.git\r\ncd ~/path/to/git-glance\r\n```\r\n### 2. Create and Activate a Virtual Environment\r\n#### Windows:\r\n```bash\r\npython -m venv .venv\r\n.venv\\Scripts\\Activate\r\n```\r\n#### macOS / Linux:\r\n```bash\r\npython3 -m venv .venv\r\nsource .venv/bin/activate\r\n```\r\n\r\n### 3. Install the Project in Editable Mode\r\n```bash\r\npip install -e .\r\n```\r\n\r\n### 4. Verify it Works\r\nOnce installed, try running:\r\n```bash\r\ngit-glance list\r\n```\r\n> 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`\r\n\r\nYou can check where `git-glance` CLI is installed ***I think***\r\n```bash\r\nwhich git-glance # Linux/macOS\r\nwhere git-glance # Windows CMD/Powershell\r\n```\r\n\r\n## Usage\r\n#### List Tracked Repositories\r\nShows a table of all Git Repositories currently being tracked\r\n```bash\r\ngit-glance list\r\n```\r\n#### Add a New Repository\r\nAdds a Git Repository to the tracking list\r\n```bash\r\ngit-glance add <path-to-repo> <alias>\r\n# Example: git-glance add ~/projects/my-cool-repo cool-repo\r\n```\r\n#### Scan a Directory to Add a Repository\r\nRecursively scans a directory for Git Repositories and adds them to be tracked\r\n```bash\r\ngit-glance scan <a-directory>\r\n```\r\n#### Remove a Repository\r\nRemoves a Repository from the tracking list\r\n```bash\r\ngit-glance remove --path <path>\r\n# or\r\ngit-glance remove --alias <alias>\r\n```\r\n#### Fetch Remote Updates\r\nPerforms a `git-fetch` on all tracked Repositories to check for upstream changes\r\n```bash\r\ngit-glance fetch\r\n```\r\n#### Check Status of All Tracked Repositories\r\nDisplays a rich, color-coded summary table for all repos -- including branch, uncommitted changes, push/pull status, etc\r\n```bash\r\ngit-glance status\r\n```\r\n#### Detailed View for a Single Repository\r\nShows detailed info for one repo inlcuding:\r\n- Commit Hash and message\r\n- Author and date\r\n- Remote info\r\n- Uncommitted/unpushed changes\r\n- Whether its up-to-date with the remote\r\n```bash\r\ngit-glance status --only <alias>\r\n# Example: git-glance status --only cool-repo\r\n```\r\n#### Remove Invalid or Deleted Git Repositories from the Tracking List\r\nGoes through the tracking list for paths that don't exist or paths that are not Git Repositories\r\n```bash\r\ngit-glance clean\r\n```\r\n#### Manage Git Config File\r\nReset or ask to show the git config file in a rich format\r\n```bash\r\ngit-glance --reset True\r\n# or\r\ngit-glance --show True\r\n```\r\n#### Rename Aliases\r\nRename the alias of a tracked Repository\r\n```bash\r\ngit-glance <old-alias> <new-alias>\r\n```\r\n#### Open a Repository\r\nOpens a tracked Repository in the system file manager\r\n```bash\r\ngit-glance <alias>\r\n```\r\n#### Commit Summary\r\nShow latest N commits for tracked Repositories or a single Repository (default N = 5)\r\n```bash\r\ngit-glance commit-summary\r\n# or\r\ngit-glance commit-summary --alias <alias>\r\n# or \r\ngit-glance commit-summary --alias <alias> --count <N-value>\r\n```\r\n#### Difference\r\nShow uncommitted changes (diff) for one or all tracked Repositories\r\n```bash\r\ngit-glance diff\r\n# or\r\ngit-glance diff <alias>\r\n```\r\n#### Get Stale Repositories\r\nShows Repositories with no commits in the last N days (default N = 10)\r\n```bash\r\ngit-glance stale\r\n# or\r\ngit-glance --days <N-value>\r\n```\r\n#### Pull from Remote\r\nPull latest changes from remote for all or specific Repository\r\n```bash\r\ngit-glance pull\r\n# or\r\ngit-glance pull --only <alias>\r\n```\r\n#### Push to Remote\r\nPush local commits to remote for all or specific Repository\r\n```bash\r\ngit-glance push\r\n# or\r\ngit-glance push --only <alias>\r\n```\r\n### Help\r\nGet list of all commands available to use\r\n```bash\r\ngit-glance --help\r\n```\r\nGet help with a specific command\r\n```bash\r\ngit-glance <command> --help\r\n```\r\n\r\n## Notes\r\nAdded 9 more commands. Updated README.md. Cleaned up parts of code. Additional git and config helper methods\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A CLI tool to track multiple Git repositories",
    "version": "1.3.0",
    "project_urls": {
        "Documentation": "https://github.com/harsh-thota/Git-Glance#readme",
        "Homepage": "https://github.com/harsh-thota/Git-Glance",
        "Repository": "https://github.com/harsh-thota/Git-Glance.git"
    },
    "split_keywords": [
        "git",
        " cli",
        " tool",
        " rich",
        " typer"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "163302863f9c081c02104ad6f8072e875fbfd9105633708d4994439c5490a8ae",
                "md5": "df553cbbf15013414c0f3ab480bea917",
                "sha256": "82d01833e81c4be6b3e496cafd2d7c038bc388d32d38fec9b8fbb35fb142d085"
            },
            "downloads": -1,
            "filename": "git_glance-1.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "df553cbbf15013414c0f3ab480bea917",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 11575,
            "upload_time": "2025-07-25T14:10:51",
            "upload_time_iso_8601": "2025-07-25T14:10:51.023017Z",
            "url": "https://files.pythonhosted.org/packages/16/33/02863f9c081c02104ad6f8072e875fbfd9105633708d4994439c5490a8ae/git_glance-1.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4506f3d2b3a2b1152c56d1e3aeb52f3b1848e149806206fd7176de017d7e3317",
                "md5": "2e5f3f1bcf2a1fc655d987cbb31fb597",
                "sha256": "46c8ba69805ed3aaa28992b40425ef58ece4ccbffd810eb24cebe5709c5366f2"
            },
            "downloads": -1,
            "filename": "git_glance-1.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2e5f3f1bcf2a1fc655d987cbb31fb597",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 11859,
            "upload_time": "2025-07-25T14:10:52",
            "upload_time_iso_8601": "2025-07-25T14:10:52.065806Z",
            "url": "https://files.pythonhosted.org/packages/45/06/f3d2b3a2b1152c56d1e3aeb52f3b1848e149806206fd7176de017d7e3317/git_glance-1.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 14:10:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "harsh-thota",
    "github_project": "Git-Glance#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "git-glance"
}
        
Elapsed time: 0.44416s