{"id":51635598,"url":"https://github.com/onlineeric/speedy-git-ext","last_synced_at":"2026-07-13T14:01:05.563Z","repository":{"id":336015804,"uuid":"1146584843","full_name":"onlineeric/speedy-git-ext","owner":"onlineeric","description":"A performance-first Git graph, Git action tool, and Git Worktrees manager for VS Code, Cursor and all Coding IDEs, built for developers who want speed, clarity, and real Git workflow power","archived":false,"fork":false,"pushed_at":"2026-07-09T08:11:14.000Z","size":3850,"stargazers_count":12,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-09T10:06:43.657Z","etag":null,"topics":["cursor-extension","git","git-graph","git-history","git-tool","git-ui","typescript","vscode-extension","worktree-manager","worktrees"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=onlineeric.speedy-git-ext","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onlineeric.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-31T10:40:03.000Z","updated_at":"2026-07-09T08:11:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/onlineeric/speedy-git-ext","commit_stats":null,"previous_names":["onlineeric/speedy-git-ext"],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/onlineeric/speedy-git-ext","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onlineeric%2Fspeedy-git-ext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onlineeric%2Fspeedy-git-ext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onlineeric%2Fspeedy-git-ext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onlineeric%2Fspeedy-git-ext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onlineeric","download_url":"https://codeload.github.com/onlineeric/speedy-git-ext/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onlineeric%2Fspeedy-git-ext/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35424575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-13T02:00:06.543Z","response_time":119,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cursor-extension","git","git-graph","git-history","git-tool","git-ui","typescript","vscode-extension","worktree-manager","worktrees"],"created_at":"2026-07-13T14:00:34.083Z","updated_at":"2026-07-13T14:01:05.554Z","avatar_url":"https://github.com/onlineeric.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Speedy Git — Fast Git Graph \u0026 History UI for VS Code and Cursor\n\nA performance-first Git graph, history viewer, history-editing tool, and worktrees manager built for developers who want speed, clarity, and real Git workflow power — without the bloat.\n\n![Speedy Git Extension screenshot](./resources/speedy-git-screenshot.png)\n\n**Speedy Git** renders large repositories instantly with virtual scrolling and batch prefetch, so you can browse thousands of commits, review diffs, and run Git operations — all from one clean panel inside VS Code or Cursor.\n\n\u003e If you've been looking for a **fast git graph**, a **lightweight git history viewer**, or a **practical rebase and cherry-pick UI** that doesn't slow you down — Speedy Git is built for exactly that.\n\n## Why Speedy Git?\n\n| What you get | How it works |\n|---|---|\n| **Instant graph rendering** | Virtual scrolling + batch prefetch keeps large repos responsive — no loading spinners, no lag |\n| **Real Git operations** | Merge, rebase, cherry-pick, revert, reset, drop commit, push, pull, fetch — all from context menus with live command preview |\n| **Compare anything to anything** | Two-click A vs B diff for any commit, branch, tag, or your working tree — with PR-style three-dot mode |\n| **Search and filter** | Quickly find commits by message, hash, or author, then narrow history with branch, author, and date filters |\n| **Worktrees** | Run AI coding sessions on different branches at the same time without constantly switching your main checkout |\n| **Clean, scannable UI** | Color-coded branch lanes, merged local/remote labels, avatars, and clear HEAD indicators |\n| **History editing workflow** | Interactive rebase with drag-and-drop reordering (pick, squash, fixup, reword, drop) |\n| **Works in VS Code and Cursor** | Published on both VS Code Marketplace and Open VSX |\n\n## What's New in v5\n\n### Worktrees for multi-session AI coding\nCreate, open, reveal, and remove Git worktrees so different AI agents or editor sessions can work on different branches at the same time without switching your main checkout.\n![Speedy Git Worktrees screenshot](./resources/047-worktrees.png)\n\n### GPG and SSH signing verification\nVerify signed commits on demand with a dedicated Signature column, clear trust states, and bundled help for local signing setup.\n\n### Compare Refs — A vs B, Anything to Anything (new in v4)\n\n![Speedy Git Compare screenshot](./resources/042-compare.png)\n\nStop dropping into the terminal to figure out what changed between two points in history. Speedy Git now ships a first-class **Compare** panel right next to Filter and Search.\n\n- **Pick any two commit-ish references** in seconds — commit hashes, local branches, remote branches, tags, `HEAD`, your **Working Tree**, or typed expressions like `HEAD~3` and `origin/main^2`. One searchable combobox handles every input type, with recently-used items at the top.\n- **Two-click compare from the graph** — right-click a commit, branch, or tag → **Set as Compare Base**, then right-click another → **Compare with Base**. The diff opens in the Commit Details panel you already use.\n- **Multi-select and compare a range** — Ctrl/Cmd+click two or more commits, right-click → **Compare these commits**. Base = oldest, Target = newest, runs immediately.\n- **PR-style three-dot diff by default** for branch-vs-branch and tag-vs-tag — see exactly \"what Target adds since branching off Base,\" matching GitHub's \"Files changed\" tab. Smart fallback to two-dot when slots are commit hashes or when there's no common ancestor.\n- **Compare your uncommitted work** against any ref — pick `Working Tree` in one slot and `HEAD`, `origin/main`, or a tag in the other. Auto-refreshes as you edit files on disk.\n- **B / T badges on the graph** light up the moment you fill a slot — no waiting for a comparison to finish to see where your endpoints are.\n- **Live, lazy-resolving slots** — branches and tags resolve to the current tip at Compare time, so a fetch or auto-refresh between picking and clicking is reflected in the result.\n- **Cancel any in-flight compare** mid-run; swap (⇄) Base and Target with one click; **Reset** clears everything in a single action.\n- **Pending-state toolbar button** turns light yellow when slots are filled but the panel is closed, so you never lose your place.\n\n## Core Feature Summary\n\u003eRight-click menu — there are even more features in other menus and panels!  \n\u003e\n\u003e![Speedy Git Right-click menu screenshot](./resources/right-click-menu.png)\n\n- Fast commit graph and history browsing with virtual scrolling, color-coded branch lanes, table-style rows, resizable columns, avatars, and clear HEAD/ref labels.\n- Powerful search and filtering by commit message, hash, author, branch, and date, with match navigation for large histories.\n- Commit details with resizable bottom/right layout, file tree/list views, per-file stats, and inline diffs.\n- Branch, tag, stash, remote, submodule, and multi-repo workflows from one panel, including fetch, pull, push, checkout, merge, and remote management.\n- History editing tools for interactive rebase, cherry-pick, revert, reset, and drop commit, with conflict-aware continue/abort flows.\n- Live Git command previews in major dialogs, plus personalization for graph colors, date format, ref visibility, avatars, and persisted panel layout.\n\n## How Speedy Git Compares\n\n| | Speedy Git | Heavy all-in-one Git extensions | Basic Git graph viewers |\n|---|---|---|---|\n| Large repo performance | Virtual scrolling, batch prefetch | Can lag on large histories | Often loads everything at once |\n| AI-ready worktrees | Parallel branch worktrees for multi-session AI coding | Varies or requires separate tools | Rare |\n| Search, filter, and compare | Built-in search, advanced filters, and A vs B compare | Usually available, often spread across views | Limited |\n| History editing | Rebase, cherry-pick, revert, drop, reset — all in-panel | Varies | View-only or minimal |\n| Commit signature verification | On-demand GPG and SSH verification | Varies | Rare |\n| Live command preview | Every dialog shows the exact git command | Rare | No |\n| UI clarity | Merged branch labels, color-coded lanes, avatars | Feature-dense, complex UI | Basic |\n| Repo support | Multi-repo switching, submodule navigation, worktree visibility | Varies | Rare |\n| Startup overhead | Lightweight, single-panel | Extension suite, multiple views | Lightweight |\n\n## Quick Start\n\n1. Install **Speedy Git** from [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=onlineeric.speedy-git-ext) or [Open VSX](https://open-vsx.org/extension/onlineeric/speedy-git-ext).\n2. Open any Git repository in VS Code or Cursor.\n3. Launch Speedy Git from the Source Control panel icon, the status bar button, or press `Ctrl+Shift+G` (`Cmd+Shift+G` on Mac).\n\nOpen Speedy Git from the Source Control panel:\n![Speedy Git Icon](resources/source-control-screenshot.png)\n\nOpen Speedy Git from the status bar:\n![Speedy Git Status Bar](resources/status-bar-screenshot.png)\n\n## Telemetry\n\nSpeedy Git collects **anonymous, aggregate-only usage statistics** (feature\nusage, standardized error codes, and performance timings) to improve\ncompatibility, reliability, and product direction. It never collects repository\ncontent, repository names or paths, or anything you type.\n\nTelemetry is sent only when both VS Code's global telemetry setting and\n`speedyGit.telemetry.enabled` are enabled. Turning either setting off stops all\ncollection immediately.\n\n\u003cdetails\u003e\n\u003csummary\u003eWhat is collected\u003c/summary\u003e\n\n- Feature and UI usage from fixed action identifiers, operation outcomes, and\n  standardized error codes.\n- Performance timings, with commit counts reported only as coarse ranges.\n- Editor, operating system, and extension versions; Speedy Git setting choices;\n  and VS Code's anonymized machine and session identifiers.\n\nSpeedy Git never collects repository or workspace names and paths; remote URLs;\nbranch, tag, stash, or worktree names; commit hashes, messages, or diffs; author\nnames, emails, or avatars; Git configuration values; file names or paths; raw\nGit output or exception messages; search or filter values; or anything entered\ninto an input.\n\nThe exact event schema is available in [`telemetry.json`](telemetry.json). Every\nsent event is also recorded in the **Speedy Git Telemetry** output channel.\n\n\u003c/details\u003e\n\n## Issues, Feature Requests \u0026 Feedback\n\n- Issues and feature requests: [GitHub Issues](https://github.com/onlineeric/speedy-git-ext/issues)\n- Source code: [github.com/onlineeric/speedy-git-ext](https://github.com/onlineeric/speedy-git-ext)\n- License: [MIT](LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonlineeric%2Fspeedy-git-ext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonlineeric%2Fspeedy-git-ext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonlineeric%2Fspeedy-git-ext/lists"}