RustyTag
一个基于 Git 标签的语义化版本管理工具
English | 简体中文
特性
- 基于 Git 标签的语义化版本管理
- 完整的语义化版本支持
- 自动版本升级(patch/minor/major)
- 本地标签与远程仓库同步
- 版本对比功能
- 轻量快速
- 跨平台支持
安装
使用 Cargo 安装
从源码安装
- 克隆仓库:
- 构建项目:
使用方法
基础命令
# 初始化语义化版本
# 版本升级命令
# 标签同步命令
# 信息查看命令
# 发布管理
# 配置管理
命令详解
版本管理命令
init: 初始化新的 Git 仓库并设置语义化版本patch/minor/major: 按照语义化版本规范升级版本号- 不带参数:自动递增版本号
- 带
-V或--version参数:直接设置为指定版本
标签同步命令
sync: 将本地标签与远程仓库同步reset: 将本地标签重置为与远程仓库一致
信息查看命令
show: 显示当前项目和工具的详细信息-q或--quiet:仅输出当前版本,适合脚本使用--json:以机器可读的 JSON 输出项目信息--quiet与--json不能同时使用
发布管理命令
release: 管理 GitHub 发布- 不带参数:为当前版本创建发布
-l或--list:列出所有发布-t或--tag:为指定版本创建发布
配置管理命令
config: 配置 RustyTag 设置- 不带参数:显示当前配置信息
--set KEY=VALUE:设置配置项--global:写入用户配置~/.rustytag.json--local:写入仓库配置.rustytag.json- 加载顺序:用户配置 → 仓库配置 → CLI 参数,后者覆盖前者
- 检测到 tag 前缀时,会自动写入仓库配置
使用示例
基本工作流程
# 1. 初始化项目
# 2. 开发完成后,升级版本
# 3. 推送到远程仓库
# 4. 创建 GitHub 发布
高级用法
# 直接设置特定版本
# 查看项目信息
# 同步远程标签
# 配置 GitHub Token(用于发布管理)
# 为当前仓库设置 Go 风格的 tag 前缀
贡献
欢迎贡献!详情请参阅 CONTRIBUTING.md。
许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
致谢
- 灵感来源于 Git 的原生标签功能
- 使用 Rust 构建以确保性能和安全性