rustytag 1.0.18

A semantic version management tool built on Git tags.
Documentation
# RustyTag 使用指南

## 目录

1. [安装]#安装
2. [基础使用]#基础使用
3. [高级功能]#高级功能
4. [最佳实践]#最佳实践

## 安装

### 使用 Cargo 安装

```bash
cargo install rustytag
```

### 从源码安装

```bash
git clone https://github.com/sichang824/rustytag.git
cd rustytag
cargo build --release
```

## 基础使用

### 初始化项目

```bash
rustytag init
```

这个命令会:

- 初始化 Git 仓库(如果尚未初始化)
- 创建 .gitignore 文件
- 设置初始版本

### 版本管理

RustyTag 支持语义化版本管理,提供三种版本升级方式:

```bash
# 升级补丁版本 (1.0.0 -> 1.0.1)
rustytag patch

# 升级次要版本 (1.0.0 -> 1.1.0)
rustytag minor

# 升级主要版本 (1.0.0 -> 2.0.0)
rustytag major
```

### 标签同步

```bash
# 查看并同步标签
rustytag sync

# 重置本地标签以匹配远程
rustytag reset
```

### 查看信息

```bash
# 显示当前版本信息
rustytag show

# 显示特定标签详情
rustytag show v1.0.0
```

## 高级功能

### 发布管理

```bash
# 创建新发布
rustytag release

# 列出所有发布
rustytag release list
```

### 配置管理

```bash
# 设置配置项
rustytag config --set KEY=VALUE

# 常用配置项:
# - CHANGELOG_TEMPLATE: 更新日志模板路径
# - COMMIT_TEMPLATE: 提交信息模板
# - DEFAULT_BRANCH: 默认分支名
```

## 最佳实践

### 版本号管理

- **补丁版本 (patch)**:用于 bug 修复和小改动
- **次要版本 (minor)**:用于新功能添加(向后兼容)
- **主要版本 (major)**:用于破坏性更改

### Git 工作流

1. 确保本地更改已提交
2. 使用适当的命令升级版本
3. 检查更新日志
4. 推送更改和标签到远程

```bash
git add .
git commit -m "feat: add new feature"
rustytag minor  # 升级次要版本
git push origin main --tags
```

### 更新日志最佳实践

- 使用清晰的分类(Added, Changed, Fixed 等)
- 每个更改都提供简短说明
- 包含相关的 issue/PR 链接

### 标签同步策略

1. 定期运行 `rustytag sync` 检查标签状态
2. 在重要操作前使用 `rustytag show` 确认版本
3. 如遇冲突,使用 `rustytag reset` 重置到远程状态

## 常见问题

### Q: 如何处理版本冲突?

A: 使用 `rustytag reset` 重置本地标签,然后重新应用更改。

### Q: 如何回滚版本?

A: 使用 Git 检出特定标签,然后创建新的版本:

```bash
git checkout v1.0.0
rustytag patch
```

### Q: 远程标签同步失败?

A: 检查:

1. Git 远程配置是否正确
2. 是否有推送权限
3. SSH 密钥是否配置正确

## 提示和技巧

1. **自动化发布**
   - 配合 CI/CD 使用
   - 利用 GitHub Actions 自动化发布流程

2. **版本号选择**
   - 新项目从 0.1.0 开始
   - 1.0.0 表示第一个稳定版本
   - 预发布版本使用 -alpha, -beta 后缀

3. **提交信息规范**
   - feat: 新功能
   - fix: 修复
   - docs: 文档更新
   - style: 代码风格
   - refactor: 重构
   - test: 测试相关
   - chore: 构建/工具相关

## 更多资源

- [语义化版本规范]https://semver.org/
- [RustyTag 文档]https://docs.rs/rustytag
- [GitHub 仓库]https://github.com/sichang824/rustytag
- [问题反馈]https://github.com/sichang824/rustytag/issues