A VS Code extension that brings the convenience of JetBrains IDEs' built-in Git features to Visual Studio Code.
VS Code's Git support is functional but minimal. JetBrains IDEs offer a more visual and streamlined Git workflow out of the box. Flash Git bridges that gap by providing a similar experience using VS Code's native UI components.
Current release: 0.11.0
Installation
Install Flash Git from the Visual Studio Marketplace, then open the Flash Git view from the Activity Bar and the Commit History panel from the bottom panel area.
Features
Flash Git uses the most suitable VS Code UI components for each category of Git information:
- Branches and changed files — tree view in the Activity Bar
- Commit history, graph, and stashes — bottom panel (webview)
- File diff — editor area
Branch Management
- Switch to a branch (local or remote tracking)
- Create a branch from any ref, with the option to switch to it immediately
- Rename a local branch
- Delete local and remote branches, with a force delete option
- Reveal the current branch in the tree
Syncing
- Fetch from all remotes
- Update a branch from its upstream (fast-forward pull for current, fetch-into for others)
- Pull with rebase for the current branch
- Push a local branch to a remote (with optional upstream setup)
Integration
- Rebase the current branch onto a selected branch (local changes are stashed and restored automatically)
- Merge a selected branch into the current branch
- Track an in-progress rebase or merge in the "In Progress" view, with continue, skip, abort, and quit actions
Commit History
- Visual commit graph per branch
- View changed files for any commit
- Copy, cherry-pick, and revert commits
- Create branches and tags at a commit
- Reset the current branch to a selected commit (soft, mixed, or hard)
Stashes
- View stash history
- Apply, pop, and drop stashes
- Create a branch from a stash
Navigation
- Reveal a local branch's upstream remote branch
- Reveal the local branch tracking a remote branch
- Remote HEAD branches are visually marked in the tree
Git Identity
- Configure your Git identity (user name and email) for the local repository or globally
- Automatic prompt to set your identity before operations that create commits
Roadmap
Features present in JetBrains IDEs but not yet implemented:
- Compare with current branch (commits and diff)
- Show diff with working tree
- Checkout and rebase (switch + rebase in one action)
Development
- Run
bun install. - Use the
watchtask while developing the extension. - Press
F5in VS Code to launch an Extension Development Host. - Run
bun run testfor the full test pipeline.