bump
Semantic versioning for Git, simplified.
A lightweight CLI tool that automates version increments following SemVer standards. Manage your project versions with confidence.
$ bump
● on default branch: main
● no uncommitted changes
● no remote changes
● no unpushed changes
● no new remote tags
● bump tag v1.2.3 → v1.2.4
● tag v1.2.4 created
● tag v1.2.4 pushed
Installation
Homebrew
brew tap flaticols/apps
brew install flaticols/apps/bump
Go
go install github.com/flaticols/bump@latest
Usage
Bump follows semantic versioning principles, allowing you to easily increment major, minor, or patch versions.
bump
Bumps patch version
1.2.3 → 1.2.4
bump major
Bumps major version
1.2.3 → 2.0.0
bump minor
Bumps minor version
1.2.3 → 1.3.0
bump patch
Bumps patch version
1.2.3 → 1.2.4
bump undo
Removes the last version tag
v1.2.4 → v1.2.3
Features
Auto-Detection
Automatically detects and increments from the latest git tag
Branch Validation
Validates you're on a default branch (main, master, etc.)
Change Detection
Checks for uncommitted changes and remote synchronization
Automatic Pushing
Creates and pushes git tags using semantic versioning
Version Rollback
Easily remove the most recent version tag when needed
Colorful Output
Visually appealing terminal feedback with status indicators
Tag Sync
Automatically detects and fetches new tags from remote
Brave Mode
Bypass warnings and continue operations for advanced users
Examples
Standard Version Bumping
Increment the patch version number
$ bump
● on default branch: main
● no uncommitted changes
● no remote changes
● no unpushed changes
● no new remote tags
● bump tag v1.2.3 → v1.2.4
● tag v1.2.4 created
● tag v1.2.4 pushed
Major Version for Breaking Changes
Increment the major version for breaking changes
$ bump major
● on default branch: main
● no uncommitted changes
● no remote changes
● no unpushed changes
● no new remote tags
● bump tag v1.2.3 → v2.0.0
● tag v2.0.0 created
● tag v2.0.0 pushed
Using a Different Repository
Specify a different repository path
$ bump --repo=/path/to/repo minor
● working directory: /path/to/repo
● on default branch: main
● no uncommitted changes
● no remote changes
● no unpushed changes
● no new remote tags
● bump tag v1.2.3 → v1.3.0
● tag v1.3.0 created
● tag v1.3.0 pushed
Using Brave Mode
Skip all confirmation prompts with brave mode
$ bump undo --brave
● brave mode enabled
● removing tag v1.2.4
● local tag removed
● remote tag removed
Changelog
Track the development progress of Bump. For a full changelog, visit CHANGELOG.md on GitHub.
v0.0.7 March 29, 2025
- Implementation of full semver spec v2
- Improvement of latest semver tag detection (thanks to @emicklei)
v0.0.6 March 27, 2025
- Improved help documentation with examples and better descriptions
- Version increment arguments (
major,minor,patch) now visible in help text - Added CHANGELOG.md to track version history
- Added Changelog section to documentation website
- Better command usage descriptions in help text
- Example commands now more clearly show their purpose
- Updated undo command documentation with usage examples
v0.0.5 March 20, 2025
- New
HasRemoteUnfetchedTags()function to detect and fetch new tags from remote repositories - Automatic tag fetching from remote before performing operations
- "Brave mode" flag (
--brave,-b) to bypass warnings and continue operations - Improved error handling with consistent exit behavior
- Updated output format to use bullet points (●) instead of symbols (✓, ⚠, ✗)
- Revised documentation with new output examples
- Updated README and HTML documentation to reflect the new features and output format
- Improved messaging for tag operations
- Better handling of repositories without remotes
- Consistent error messaging
v0.0.4 March 15, 2025
- Initial public release
- Basic semantic versioning command-line functionality
- Support for major, minor, and patch version bumping
- Tag creation and pushing to remote repositories
- Undo command for removing the latest tag
- Validation for repository state before operations