A comprehensive git operations toolkit with an intuitive menu-driven interface, bringing the power of the git-quickops shell script directly into VS Code.
- Menu-driven interface - Easy-to-navigate quick pick menus for all git operations
- Common Commands - Quick access to status, add, commit, push, pull, fetch, log, and diff
- Branch Management - Create, switch, rename, delete, and merge branches with ease
- Commit History - Rewrite, rebase, squash, undo, and amend commits
- Cleanup Tools - Prune remotes, delete orphan branches, and remove merged branches
- Stash Operations - Save, list, and pop stashes
- Tag Management - Create and push tags
- Remote Operations - Set upstream and push
- Utilities - Restore files, unstage changes, and configure commit prefixes
- Commit Prefix Support - Automatically prefix commits with branch name or ticket number
Press Ctrl+Shift+P (or Cmd+Shift+P on macOS) and type:
- Git QuickOps: Show Main Menu - Opens the main category menu
You can also access specific categories directly:
- Git QuickOps: Common Commands - Quick access to common git operations
- Git QuickOps: Branch Management - Branch operations
- Git QuickOps: Commit History - History manipulation
- Git QuickOps: Cleanup - Repository cleanup operations
- Git QuickOps: Stash - Stash operations
- Git QuickOps: Tags - Tag management
- Git QuickOps: Remotes - Remote operations
- Git QuickOps: Utilities - Utility functions
- Git QuickOps: Add → Commit → Push - Quick workflow command
- Show Status - Display git status
- Add Changes - Stage changes (all or selected files)
- Add → Commit → Push - Complete workflow in one command
- Commit - Commit staged changes with message
- Push - Push to remote
- Pull - Pull from remote
- Fetch - Fetch from remote
- View Log - View commit history
- View Diff - View changes (working directory or staged)
- Create Branch - Create and switch to new branch
- Create Branch From... - Create branch from specific commit/branch
- Switch Branch - Switch to existing branch
- Checkout from Remote - Fetch and checkout branches from remote that don't exist locally
- Rename Branch - Rename current branch
- Delete Branch - Delete one or more branches
- Merge Branch - Merge another branch into current
- Rewrite to Single Commit - Squash all commits into one
- Rebase Onto Branch - Rebase current branch onto another
- Squash Last N Commits - Interactive rebase to squash commits
- Undo Last Commit - Undo last commit but keep changes
- Amend Last Commit Message - Change the last commit message
- Fetch + Prune Remotes - Update remote tracking and remove stale references
- Delete Orphan Branches - Remove local branches not present on remote
- Delete Merged Branches - Remove branches already merged into default branch
- Stash Save - Save current changes to stash
- Stash List - View all stashes
- Stash Pop - Apply and remove a stash
- Create Tag - Create a new tag (annotated or lightweight)
- Push and Set Upstream - Push current branch and set upstream tracking
- Restore File from HEAD - Discard changes to a specific file
- Unstage All Changes - Unstage all staged changes
- Set Commit Prefix - Configure automatic commit message prefixing
Configure automatic commit message prefixing with placeholders:
Settings:
gitQuickOps.commitPrefix- Default commit prefix templategitQuickOps.defaultRemote- Default remote name (default: "origin")
Placeholders:
{{branch}}- Replaced with current branch name{{ticket}}- Automatically extracted from branch name (e.g., PROJ-123 from feature/PROJ-123-description)
Examples:
{{ticket}}:→ "PROJ-123: my commit message"[{{branch}}]→ "[feature/my-feature] my commit message"{{ticket}} - {{branch}}:→ "PROJ-123 - feature/my-feature: my commit message"
Repo-specific prefix:
You can also set a repo-specific prefix by creating a .GIT_QUICKOPS_PREFIX file in your repository root. This takes precedence over the workspace setting.
Note: Legacy .GIT_HELPER_PREFIX files are also supported for backwards compatibility.
Open VS Code settings and search for "Git QuickOps" to configure:
{
"gitQuickOps.commitPrefix": "{{ticket}}: ",
"gitQuickOps.defaultRemote": "origin"
}- Git must be installed and available on your system
- A git repository must be open in the workspace
- Download the
.vsixfile - Open VS Code
- Press
Ctrl+Shift+Pand type "Install from VSIX" - Select the downloaded file
- Clone the repository
- Navigate to
git_helpers/vscode - Run
npm install - Run
npm run compile - Press F5 to open extension development host
cd git_helpers/vscode
npm install
npm run compileTo package as VSIX:
npm install -g @vscode/vsce
vsce packageThis extension is part of the kumpeapps/helper_scripts repository. Contributions are welcome!
See the LICENSE file in the repository root.
- Initial release
- Converted from bash script to VS Code extension
- Full feature parity with git-quickops.sh
- Added VS Code-native UI integration
- Support for commit message prefixing
- Multi-select operations for branch deletion
- Output channels for command results
This extension is based on the git-quickops.sh bash script from the same repository. Both tools provide the same functionality with different interfaces - choose the one that fits your workflow best!