Name | git-glance JSON |
Version |
1.3.0
JSON |
| download |
home_page | None |
Summary | A CLI tool to track multiple Git repositories |
upload_time | 2025-07-25 14:10:52 |
maintainer | None |
docs_url | None |
author | Harshit Thota |
requires_python | >=3.7 |
license | None |
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"
}