WebStorm-like Git commit management panel for VSCode. Browse commit history, inspect changes, and rewrite history (revert, squash, drop, reset) without leaving the editor.
- Commit history panel in the activity bar, with an option to open as an editor tab
- Commit graph with branch lanes
- Filter by search (text / regex / case-sensitive), branch, author, and date range
- Commit details panel: author, committer, signature, refs, and body
- Changed files panel with cumulative diff stats and one-click file diff
- Previous / Next file diff navigation in the editor toolbar
- History rewriting: copy hash, revert, squash, drop, reset --soft / --mixed / --hard
- Infinite scroll pagination for large repositories
- Resizable split panels and configurable columns
- Persisted filters across sessions
| Command | Description |
|---|---|
GitMin: Open Panel in Editor |
Open the GitMin panel as an editor tab |
GitMin: Previous File Diff |
Navigate to the previous file in the current diff |
GitMin: Next File Diff |
Navigate to the next file in the current diff |
- VSCode 1.85.0 or newer
- The built-in
gitextension must be enabled - A git repository in the current workspace
npm install
npm run build # one-off build
npm run watch # watch mode
npm run typecheck # type-check extension + webviewPackage a VSIX with vsce package (see existing *.vsix artifacts in the repo root).
src/ Extension host (panels, services, ipc, utils)
webview-ui/ React webview UI (components, hooks, utils)
shared/ Types and IPC protocol shared between host and webview
resources/ Rebase sequence editor script for interactive rebase
test/ Standalone test scripts
- TypeScript
- React 18 (webview)
- simple-git (git operations)
- esbuild (bundler)
- History rewriting operations require a clean working tree (except
reset --hard, which prompts for a second confirmation in the UI). - Interactive rebase uses a custom
GIT_SEQUENCE_EDITORscript; conflicts auto-abort to avoid leaving the repo in a rebase state.