bump2version/README.md
2024-03-03 17:16:31 +02:00

78 lines
3.5 KiB
Markdown

# ⬆️ Bump2version
[![Crates.io](https://img.shields.io/crates/v/bump2version.svg)](https://crates.io/crates/bump2version)
[![docs](https://docs.rs/bump2version/badge.svg)](https://docs.rs/bump2version/)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
> 🚀 **bump2version**: A command-line tool for managing version numbers in your projects.
## 📖 Table of Contents
- [Quick Start](#-quick-start)
- [Configuration File](#-configuration-file)
- [Features](#-features)
- [Options](#-options)
- [GitHub Repository](#-github-repository)
- [Contributing](#-contributing)
## 🚀 Quick Start
Get started with the `bump2version` CLI by following these simple steps:
1. Install the `bump2version` tool using Cargo:
```bash
cargo install bump2version
```
1. Use the following options to manage version numbers and customize the behavior:
```bash
bump2version --bump patch # or minor or major
```
## 🛠️ Configuration File
To customize the behavior of `bump2version`, you can use a configuration file named `.bumpversion.toml`. This file should be present in the root of your project. If it's not found, the cli will use default values.
Here's an example `.bumpversion.toml` configuration file you can use in your project:
```toml
[bumpversion]
current_version = 0.1.0 # Specify the current version of your project, samne value as Cargo.toml version
# Specify how to search for and replace the version in the 'Cargo.toml' file.
[bumpversion:file:Cargo.toml]
search = 'version = "{current_version}"'
replace = 'version = "{new_version}"'
```
## ✨ Features
- **Incremental Versioning:** Bump major, minor, or patch versions with ease.
- **Configurability:** Use a configuration file or command-line options to customize behavior.
- **Git Integration:** Create commits and tags in your version control system.
## 🎨 Options
| Option | Description |
|------------------------|-------------------------------------------------------------------|
| `--config-file` | Config file to read most of the variables from (default: `.bumpversion.toml`). |
| `--current-version` | Version that needs to be updated. |
| `--bump` | Part of the version to be bumped (default: patch). |
| `--parse` | Regex parsing the version string (default: \d+\.\d+\.\d+). |
| `--serialize` | How to format what is parsed back to a version (default: {major}.{minor}.{patch}). |
| `--dry-run` | Don't write any files, just pretend. |
| `--new-version` | New version that should be in the files. |
| `--commit` | Create a commit in version control (default: true). |
| `--tag` | Create a tag in version control. |
| `--message` | Commit message (default: Bump version: {current_version} → {new_version}). |
| `file` | Files to change. |
## 🌐 GitHub Repository
You can access the source code for this CLI tool on [GitHub](https://github.com/wiseaidev/bump2version).
## 🤝 Contributing
Contributions and feedback are welcome! If you'd like to contribute, report an issue, or suggest an enhancement, please engage with the project on [GitHub](https://github.com/wiseaidev/bump2version). Your contributions help improve this CLI tool for the community.