A VS Code extension that adds Git blame annotations, CodeLens, a Commit Graph, and tools for reviewing, rebasing, and managing branches and worktrees.
kahole/edamagit
A keyboard-driven Git interface for VS Code, modeled on the Emacs Magit porcelain.
Open-source alternative to:GitLens
- Stars
- 1,538
- Forks
- 94
- Open issues
- 93
- Last commit
- last month
What is it?
edamagit brings the Magit workflow from Emacs into Visual Studio Code. It opens a status view that lists unstaged, staged, untracked and recent-commit sections, and most Git operations are reached through single-key popups for commit, branch, push, pull, rebase, merge, stash, tag, and reset.
Actions are applied directly on the item under the cursor. You can stage or unstage individual hunks, discard changes, reverse or revert commits, and visit files or commits with Enter. Commands are available from the command palette and have default shortcuts that can be remapped through VS Code's keybindings file.
The extension offers optional Forge integration for showing pull requests and issues from GitHub, settings for hiding status sections and choosing where Magit windows open, and a documented setup for Vim users with VSCodeVim bindings that mirror evil-magit.
Key features
- 01Status view with unstaged, staged, untracked and recent-commit sections
- 02Single-key popups for commit, branch, push, pull, rebase, merge, stash and more
- 03Stage, unstage, discard and reverse changes at point
- 04Optional Forge integration for GitHub pull requests and issues
- 05Customizable keybindings with a ready-made Vim (VSCodeVim) preset
Use cases
- Developers who already know Emacs Magit and want the same workflow inside VS Code
- Staging hunks and committing changes without leaving the editor
- Keyboard-focused users who prefer Vim-style bindings in VS Code
Quick start
- 1
Install the edamagit extension (kahole.magit) from the VS Code Marketplace
- 2
Open a Git repository in VS Code and press alt+x g to open Magit Status
Things to know
- It runs only inside VS Code, not as a standalone tool.
- Several Magit features such as bisecting, patches and subtrees are not yet implemented.
Topics
FAQ
- What is edamagit?
- A keyboard-driven Git interface for VS Code, modeled on the Emacs Magit porcelain. edamagit brings the Magit workflow from Emacs into Visual Studio Code. It opens a status view that lists unstaged, staged, untracked and recent-commit sections, and most Git operations are reached through single-key popups for commit, branch, push, pull, rebase, merge, stash, tag, and reset.
- Is edamagit free to use? What license does it have?
- edamagit is open source under the MIT license. Check the license terms before using it in commercial products.
- Is edamagit still maintained?
- Updated within 6 months. The last commit to edamagit was on Sep 13, 2026.
- What can I use edamagit for?
- Developers who already know Emacs Magit and want the same workflow inside VS Code Staging hunks and committing changes without leaving the editor Keyboard-focused users who prefer Vim-style bindings in VS Code
- How do I install edamagit?
- Install the edamagit extension (kahole.magit) from the VS Code Marketplace Open a Git repository in VS Code and press alt+x g to open Magit Status
- Where can I get edamagit?
- The source code and installation instructions are on GitHub: https://github.com/kahole/edamagit
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A VSCode extension that reformats TypeScript error messages into readable, syntax-highlighted types with links to docs and explanations.
A VS Code extension that adds animated pixel-art pets like a cat, dog, snake, rubber duck, or Clippy to your editor window.
A terminal user interface for Git, inspired by Magit, for staging, committing, branching, rebasing and more from the keyboard.
Self-hostable open source developer platform combining code hosting, CI/CD pipelines, Gitspaces developer environments, and artifact registries.
Run VS Code on any machine and access it in the browser, so you can code from any device.