GitActions — VSCode Extension
Run Git actions directly from the VS Code right-click menu: diff, log, compare revisions or branches, view history, blame, stash, merge, rebase, manage branches, remotes, and more — without leaving your editor.
Demo

Right-click any file in the editor → Git → choose your operation
Features
✨ 24+ Git commands from the right-click context menu — no CLI needed
🚀 Keyboard shortcuts for frequent operations: Add, Rollback, Push, Branches
📊 Git Diff & Compare — view changes against HEAD, revisions, or branches
📜 Git Log, History & Blame — trace file changes and commit origins
🔄 Branch, Merge & Rebase — manage branches and integrate changes
💾 Stash Management — save and restore work in progress
🏷️ Tags — create and manage version tags
🔀 Remote Ops — push, pull, fetch, clone, and manage remotes
⚡ Fast & Lightweight — minimal dependencies, instant execution
Requirements
- VSCode >= 1.80
- Git installed and available in PATH
Installation (VSIX)
Packaging
Requires Node.js >= 20. If using nvm:
nvm install 20
nvm use 20
Package the extension:
cd git-actions
npm install
npm run compile
npm install -g @vscode/vsce
vsce package
This creates git-actions-1.0.0.vsix.
Installing on another machine
Option 1 — CLI:
code --install-extension git-actions-1.0.0.vsix
Option 2 — GUI:
Ctrl+Shift+P → "Extensions: Install from VSIX..." → select the .vsix file
Usage
Right-click in any file editor → Git → select a command:
| Command |
Description |
| Commit File... |
Stage and commit the current file with a message |
| Add |
git add the current file |
| Annotate with Git Blame |
Show blame annotation in a side panel |
| Show Diff |
Diff current file against HEAD |
| Compare with Revision... |
Pick a commit from file history → view diff |
| Compare with Branch... |
Pick a branch → view diff |
| Show History |
Show commit log for the current file |
| Show History for Selection |
Show commit log for selected lines only |
| Show Current Revision |
Display latest commit info for the file |
| Rollback... |
Discard uncommitted changes (with confirmation) |
| Push... |
Push current branch to remote |
| Pull... |
Pull from remote |
| Fetch |
Fetch all remotes |
| Merge... |
Merge another branch into current |
| Rebase... |
Rebase current branch onto another |
| Branches... |
List branches and checkout |
| New Branch... |
Create and switch to a new branch |
| New Tag... |
Create a lightweight or annotated tag |
| Reset HEAD... |
Reset HEAD with soft/mixed/hard mode |
| Stash Changes... |
Stash working directory changes |
| Unstash Changes... |
Apply or pop a stash entry |
| Manage Remotes... |
Add, rename, remove, or change URL of remotes |
| Clone... |
Clone a repository into a chosen folder |
Or use Ctrl+Shift+P → type Git Actions to access all commands from the Command Palette.
Keyboard Shortcuts
| Shortcut |
Command |
Ctrl+Alt+A |
Add |
Ctrl+Alt+Z |
Rollback |
Ctrl+Shift+K |
Push |
Ctrl+Shift+`` |
Branches |
Development
Setup
cd git-actions
npm install
npm run compile
Debug
- Open the
git-actions/ folder in VSCode
- Press F5 → opens Extension Development Host
- In that window, right-click in any file → Git → test commands
Watch mode
npm run watch
Automatically rebuilds when source files change.
Troubleshooting
"No active editor"
→ Make sure a file is open and focused in the editor before using the commands.
"Not a git repository"
→ The current file must be inside a Git repository. Run git init or open a folder that is already a Git repo.
Commands not appearing in context menu
→ Reload VSCode (Ctrl+Shift+P → "Developer: Reload Window"). Ensure the extension is enabled.
Push/Pull fails
→ Check that remotes are configured (git remote -v). The command runs in a terminal so you can see the full output.