- Category
- Developer Tools
- Rank
- No. 1848Tools index
Previous survey · No. 1856 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- knadh
- GitHub
- 28 stars
- Latest release
- v1.2.1
- Date
About
Git tag bump: a simple utility to bump and manage git semantic version tags and generate Markdown changelogs.
What it does
gtbump turns release tagging into a small command-line workflow inside a Git repository. It finds the latest version-shaped tag, increments the requested version part, creates an annotated tag, and can print commit subjects between recent tags for release notes.
Why it's ranked here
Its narrow scope is the appeal. The commands cover initialization, inspection, version increments, suffixes, deletion, pushing, and release-note output without configuration. However, direct shell command construction and bypassed pre-push hooks make it a tool for controlled repositories, not hardened automation.
What's good
Version increments reset lower-order parts correctly, so a major change becomes the next major version with zeroed minor and patch values. It accepts dash or plus suffixes, creates annotated tags, supports named remotes, and emits compact Markdown-ready commit lists.
Tradeoffs
It rejects any encountered tag that does not match its expected version pattern, which can clash with mixed tagging conventions. Pushing deliberately skips pre-push hooks. User-provided suffixes and remote names enter shell command strings without quoting, so untrusted input is unsafe. Changelogs are raw commit subjects, not curated release notes.
How to use it well
Use it for small, trusted projects that release directly from Git tags and want a predictable manual command sequence. Keep tag naming consistent, review generated commit lists before publishing, and push only from a controlled environment. Choose separate tooling for release orchestration, curated notes, or handling untrusted input.
Technical notes+
setup.py packages the single gtbump module and registers the gtbump = gtbump:main console entry point. gtbump/__init__.py uses argparse, parses tags with a regular expression, creates annotated tags through git tag -a, derives changelogs from git log, and invokes commands through subprocess.Popen(..., shell=True). The --push-last path runs git push --no-verify, while suffixes, tag values, and remote names are interpolated into shell strings. README.md documents installation and the main CLI workflow. LICENSE contains the MIT terms.
Observed
- License
- MIT License
- Primary language
- Python
- Installation
- Published for installation with pip as gtbump
- Interface
- Command-line interface registered through a setuptools console entry point
- Packaging
- Setuptools package containing a single gtbump module
- Runtime dependencies
- No third-party runtime dependencies are declared in setup.py
- Repository structure
- No test directory appears in the provided repository tree
Read from README.md, setup.py, gtbump/__init__.py, LICENSE.
What it can do
Bump semantic version tags in git repository
Git repository with existing version tags → New semantic version tag
Create new semantic version tags
Git repository and version increment specification → Git tag with semantic version number
Generate Markdown changelog
Git commit history and version tags → Markdown formatted changelog file
Manage existing git version tags
Git repository with version tags → Modified or organized version tags
Parse semantic version numbers
Git tags with semantic version format → Structured version information
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
