YAGI — Yet Another Git InterfaceA Fork-style graphical Git client that lives inside VS Code. Commit graph. Staging. Merge conflicts. Interactive rebase. Remotes. No app-switching, no separate window — just your editor.
Why YAGI?VS Code's built-in Source Control view is great for a quick commit, but the moment you need to untangle history, resolve a real merge conflict, or rebase interactively, you reach for a separate app. YAGI closes that gap — it brings a full, Fork-like Git GUI into an editor tab, wired directly to your workspace.
Features📊 Commit graphA colored-lane commit graph that stays fast on large repositories — rendering is virtualized, and history loads incrementally as you scroll ("load more" paging), so a 50,000-commit repo opens as quickly as a 50-commit one. 🔗 Squash & rebase-merge trackingSquash and rebase merges rewrite your branch's commits under new SHAs, so a
normal graph shows no connection back to the branch you merged — it just looks
deleted. YAGI detects these (via patch-id equivalence) and draws a solid
merge line to the commit that absorbed the work, with a "merged" badge in
both the graph and the branch list. Detection runs off the main thread and is
cached, and can be disabled on very large repos ( ⇄ Branch comparisonCheck two branches and hit Compare for a side-by-side view of what actually differs. Work that already exists on both branches is folded away rather than listed twice — cherry-picks, rebase replays, and topics squashed into each branch separately are matched by patch-id; a topic merged normally into one branch but squash-merged into the other is caught by comparing the whole topic's changes; and a topic merged into both branches is matched by its shared merge parent. This all holds even when the two branches have since diverged around the shared code. Shared commits stay visible but dimmed, so you can tell the difference between "nothing unique here" and "something got missed". 🎯 Focused graphsSelect branches in the sidebar and the graph collapses to those branches' lines — everything merged into them folds into its merge commit, instead of a separate lane for every topic branch in your history. Turn on Linking to also pull in the unselected branches a selected one merges through, drawn dimmed. Hover any line to see which branch it belongs to. 🔍 Commit detailsClick any commit to see its full message, author, parents, and changed files — click a file to open it in VS Code's native diff editor. ✅ Staging & commitStage and unstage files, view diffs natively, and commit — with 🔀 Merge, rebase, cherry-pick, revert
☁️ RemotesFetch, pull, and push with live ahead/behind indicators. Optionally
auto-pull after any operation finishes, so your view never falls out of
sync with the remote ( 🗂️ Built for your workflow
Getting started
That's it — no configuration required. Settings
Requirements
Feedback & contributionsYAGI is open source. Bug reports, feature requests, and pull requests are welcome at github.com/knoppies999/yagi. License |
