A comprehensive VS Code extension for Git Flow Next workflow management, bringing the power of the modern git-flow-next CLI tool directly into your editor.
- Complete Git Flow Support: All git-flow-next commands available through VS Code's command palette
- Smart Branch Detection: Automatically detects current branch type and suggests appropriate actions
- Interactive UI: User-friendly prompts and selections for all operations
- Shorthand Commands: Quick access to common operations like finish, delete, rebase, and update
- Branch Management: Full CRUD operations for features, releases, hotfixes, support, and bugfix branches
- Error Handling: Clear error messages and validation for all operations
- Configuration: Easy setup with presets (Classic, GitHub, GitLab) or custom configuration
- VS Code 1.74.0 or higher
- git-flow-next CLI tool installed (Installation Guide)
macOS/Linux (Homebrew):
brew install gittower/tap/git-flow-nextManual Installation:
- Download the latest release from GitHub
- Extract the binary to a location in your PATH
- Make it executable:
chmod +x /path/to/git-flow
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "Git Flow Next"
- Click Install
-
Initialize Git Flow in your repository:
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) - Type "Git Flow Next: Initialize Git Flow"
- Choose a preset (Classic, GitHub, GitLab, or Custom)
- Press
-
Start Working with Branches:
- Use the command palette to access all git-flow commands
- Commands are organized by category: Features, Releases, Hotfixes, Support, Bugfixes
- Initialize Git Flow: Set up git-flow in your repository
- Show Overview: Display git-flow configuration and branches
- Configure Git Flow: Manage git-flow settings
- Feature: Start - Create a new feature branch
- Feature: Finish - Complete and merge a feature
- Feature: List - Show all feature branches
- Feature: Checkout - Switch to a feature branch
- Feature: Delete - Remove a feature branch
- Feature: Rename - Rename current feature branch
- Feature: Update - Update feature from parent branch
- Release: Start - Begin a new release
- Release: Finish - Complete a release
- Release: List - Show all release branches
- Release: Checkout - Switch to a release branch
- Release: Delete - Remove a release branch
- Release: Rename - Rename current release branch
- Release: Update - Update release from parent branch
- Hotfix: Start - Create a hotfix branch
- Hotfix: Finish - Complete a hotfix
- Hotfix: List - Show all hotfix branches
- Hotfix: Checkout - Switch to a hotfix branch
- Hotfix: Delete - Remove a hotfix branch
- Hotfix: Rename - Rename current hotfix branch
- Hotfix: Update - Update hotfix from parent branch
- Support: Start - Create a support branch
- Support: Finish - Complete support work
- Support: List - Show all support branches
- Support: Checkout - Switch to a support branch
- Support: Delete - Remove a support branch
- Support: Rename - Rename current support branch
- Support: Update - Update support from parent branch
- Bugfix: Start - Create a bugfix branch
- Bugfix: Finish - Complete a bugfix
- Bugfix: List - Show all bugfix branches
- Bugfix: Checkout - Switch to a bugfix branch
- Bugfix: Delete - Remove a bugfix branch
- Bugfix: Rename - Rename current bugfix branch
- Bugfix: Update - Update bugfix from parent branch
- Finish Current Branch - Automatically finish the current topic branch
- Delete Current Branch - Remove the current topic branch
- Rebase Current Branch - Rebase current branch from parent
- Update Current Branch - Update current branch from parent
- Rename Current Branch - Rename the current topic branch
- Publish Current Branch - Publish current branch to remote
The extension automatically detects your current branch type:
feature/my-feature→ Feature branchrelease/1.0.0→ Release branchhotfix/critical-bug→ Hotfix branchsupport/1.0→ Support branchbugfix/my-bugfix→ Bugfix branch
When you're on a topic branch, commands like "Finish Current Branch" automatically use the correct git-flow command:
# On feature/my-awesome-feature
# "Finish Current Branch" → git flow feature finish my-awesome-feature
# On release/v1.2.0
# "Finish Current Branch" → git flow release finish v1.2.0The extension works with git-flow-next's configuration system. You can configure:
- Branch naming prefixes (feature/, release/, hotfix/, etc.)
- Main and develop branch names
- Version tag prefixes
- Merge strategies
Use the "Configure Git Flow" command to manage settings, or configure directly via git-flow-next CLI.
- Press
Ctrl+Shift+P - Type "Git Flow Next: Feature: Start"
- Enter feature name (e.g., "user-authentication")
- Extension creates
feature/user-authenticationbranch and switches to it
- Ensure you're on the feature branch
- Press
Ctrl+Shift+P - Type "Git Flow Next: Finish Current Branch" (or "Feature: Finish")
- Extension merges the feature and switches back to develop
- Press
Ctrl+Shift+P - Type "Git Flow Next: Release: Start"
- Enter version number (e.g., "1.2.0")
- Extension creates
release/1.2.0branch
- Press
Ctrl+Shift+P - Type "Git Flow Next: Hotfix: Start"
- Enter hotfix version (e.g., "1.2.1")
- Extension creates
hotfix/1.2.1branch from main
- Ensure git-flow-next CLI is installed and in your PATH
- Verify you're in a git repository
- Check that git-flow is initialized (
git flow overview)
- Make sure git-flow-next is properly installed
- Try running
git flow --versionin terminal to verify installation
- Ensure the git-flow-next binary is executable
- Check that you have write permissions to the repository
- Node.js 16+
- npm
- VS Code
- git-flow-next CLI
- Clone this repository
- Run
npm installto install dependencies - Press F5 to run the extension in a new Extension Development Host window
npm run esbuild- Build the extensionnpm run esbuild-watch- Build and watch for changesnpm run lint- Run ESLint
- Open the extension in VS Code
- Press F5 to launch Extension Development Host
- Test commands in the new window
- Use the Command Palette (
Ctrl+Shift+P) to access all Git Flow Next commands
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch:
git flow feature start my-feature - Make your changes
- Test thoroughly
- Commit your changes
- Push to your fork
- Create a Pull Request
- Initial release
- Complete git-flow-next command integration
- Smart branch detection
- Interactive UI for all operations
- Shorthand commands for common workflows
MIT License - see LICENSE file for details.
- Built for git-flow-next by the Tower team
- Inspired by the original git-flow by Vincent Driessen
- Thanks to the VS Code extension development community
- Issues: GitHub Issues
- Documentation: git-flow-next Docs
- Tower Git Client: Tower