mcpField
G
git-version

git-version

github.com/youlaitech開発6271 回インストール5 日前に更新
リポジトリ

git-version について

Git を使う開発者向けのコミットとリリース規約をまとめたスキルです。Conventional Commits、セマンティックバージョニング、タグ、変更履歴、リリースノートに加え、手順とトラブル対応も扱います。

主な機能

  1. 01Conventional Commits のメッセージ規則
  2. 02セマンティックバージョンの更新規則
  3. 03Git タグの命名と操作
  4. 04変更履歴とリリースノートのテンプレート
  5. 05リリース手順とチェックリスト
  6. 06一般的な Git 問題への対処

活用シーン

  1. 01規約に沿ったコミットメッセージの作成
  2. 02変更内容に基づくバージョン選定
  3. 03バージョン変更履歴の作成
  4. 04リリース手順の実行と確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/youlaitech/youlai-skills --skill git-version

インストール後、Claude Code で/git-versionを入力して読み込まれたか確認します。

詳細

Git バージョン管理自動化規約

トリガー条件

  • Conventional Commit メッセージを生成する
  • セマンティックバージョニングを管理する
  • Git タグを作成する
  • 変更履歴を生成する
  • リリースノートを生成する
  • バージョンリリースのワークフローを自動化する

Part 1: コミットメッセージの規約

1.1 フォーマット
<type>(<scope>): <subject>

<body>

<footer>
1.2 Type の種類
Type説明例
feat新機能feat(user): 添加用户登录功能
fixバグ修正fix(auth): 修复 Token 过期验证问题
docsドキュメントの更新docs(readme): 更新安装说明
styleコードのフォーマット(機能に影響しない変更)style: 格式化代码缩进
refactorリファクタリング(新機能の追加やバグ修正ではない変更)refactor(user): 重构用户服务层
perfパフォーマンスの最適化perf(query): 优化分页查询性能
testテスト関連test(user): 添加用户服务单元测试
choreビルド/ツール関連chore: 更新依赖版本
ciCI/CD 関連ci: 添加 GitHub Actions 工作流
buildビルドシステム関連build: 升级 webpack 配置
revertコミットの取り消しrevert: 回滚用户登录功能
1.3 Scope の範囲
Scope説明
auth認証・認可
user / role / menu / dept / dict / noticeビジネスモジュール
log / file / apiログ/ファイル/インターフェース
db / config / depsデータベース/設定/依存関係
1.4 自動生成の手順
  1. 変更を分析する:git diff --cached --stat && git diff --cached --name-status
  2. 種類を識別する:新規ファイル → feat、設定の変更 → chore、ファイルの削除 → refactor
  3. メッセージの生成例:
feat(user): 添加用户头像上传功能

- 支持 JPG/PNG 格式
- 限制文件大小 2MB
- 自动压缩图片

Part 2: セマンティックバージョニングの規約

2.1 バージョン形式
MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
部分説明更新のタイミング
MAJORメジャーバージョン互換性のない API の変更
MINORマイナーバージョン後方互換性のある機能追加
PATCHパッチバージョン後方互換性のある問題の修正
PRERELEASEプレリリース識別子alpha、beta、rc
2.2 バージョンのインクリメント規則
Commit Typeバージョンのインクリメント
featMINOR +1、PATCH = 0
fixPATCH +1
feat! または BREAKING CHANGEMAJOR +1、MINOR = 0、PATCH = 0
docs / style / refactor / test / choreインクリメントしない
2.3 プレリリースバージョン
段階バージョン例説明
Alpha1.0.0-alpha.1内部テスト
Beta1.0.0-beta.1公開テスト
Release Candidate1.0.0-rc.1リリース候補
Release1.0.0正式リリース
2.4 バージョンファイルの同期
プロジェクトの種類バージョンファイル更新方法
Node.jspackage.jsonversion フィールドを変更
Java Mavenpom.xml<version> タグを変更
Pythonpyproject.tomlversion フィールドを変更
Go任意または省略—

Part 3: Git タグの規約

3.1 命名形式
種類形式例
正式リリースv{VERSION}v1.0.0
プレリリースv{VERSION}-{PRERELEASE}.{N}v1.0.0-beta.1
3.2 注釈付きタグの作成
git tag -a v1.0.0 -m "Release v1.0.0

Features:
- 用户登录功能
- 角色权限管理

Fixes:
- 修复 Token 过期问题"
3.3 よく使うコマンド
git tag -l                              # 列出所有 Tag
git tag -l "v1.*"                       # 匹配 Tag
git show v1.0.0                         # 查看 Tag 详情
git tag -d v1.0.0                       # 删除本地 Tag
git push origin --delete v1.0.0        # 删除远程 Tag
git push origin v1.0.0                  # 推送单个 Tag
git push origin --tags                  # 推送所有 Tag

Part 4: 変更履歴の規約

4.1 フォーマットのテンプレート

Keep a Changelog に基づきます:

# Changelog

## [Unreleased]
### Added / Changed / Deprecated / Removed / Fixed / Security

## [1.0.0] - 2024-01-15
### Added
- 用户登录功能
- 角色权限管理

### Fixed
- 修复 Token 过期验证问题 (#123)

### Security
- 升级 JWT 库修复安全漏洞
4.2 変更の分類
分類説明
Added新機能
Changed機能の変更
Deprecated非推奨化
Removed削除済み
Fixedバグ修正
Securityセキュリティ関連
4.3 自動生成
git log v0.9.0..v1.0.0 --pretty=format:"%s" | grep "^feat" | sed 's/feat/### Added/'
git log v0.9.0..v1.0.0 --pretty=format:"%s" | grep "^fix" | sed 's/fix/### Fixed/'

Part 5: リリースノートの規約

# Release v1.0.0

## 🎉 新功能
### 用户管理
- **用户登录** - 支持 JWT 和 Redis Token 两种认证模式
- **角色权限** - 基于 RBAC 的细粒度权限控制

## 🐛 Bug 修复
- 修复 Token 过期后前端未正确跳转登录页的问题 (#123)

## 💥 重大变更
- API 路径统一调整为 `/api/v1/` 前缀

## 📦 依赖更新
- 升级 Spring Boot 至 3.2.0

## 完整变更日志
查看 [CHANGELOG.md](./CHANGELOG.md) 获取完整变更记录。

Part 6: 自動化ワークフロー

6.1 標準リリース手順
1. git status                  — 检查工作区状态
2. git checkout main && git pull — 确保在主分支
3. git add . && git commit -m "..." — 提交变更
4. git push origin main        — 推送
5. 确定版本号 → 更新版本文件    — version bump
6. git add . && git commit -m "chore: release vX.X.X"
7. git tag -a vX.X.X -m "Release vX.X.X"
8. git push origin vX.X.X      — 推送 Tag
9. git push origin main         — 推送版本更新提交

⚠️ 順序に注意してください:コードをコミット → タグを作成 → バージョンファイルを更新 → バージョン更新をコミット → プッシュ

6.2 バージョンリリースのチェックリスト
  • すべてのテストに合格している
  • コードレビューが完了している
  • CHANGELOG.md が更新されている
  • バージョン番号が更新されている
  • タグが作成され、プッシュされている

Part 7: Windows PowerShell との互換性

BashPowerShell説明
cmd1 && cmd2cmd1; cmd2 または個別に実行PowerShell は && をサポートしていません
head -5Select-Object -First 5head はありません
grepSelect-String または findstrgrep はありません
sed-replacesed はありません
# Windows 示例
git add .
git commit -m "feat: 新功能"
git push

# 查看最近 5 个 Tag
git tag -l "v*" --sort=-v:refname | Select-Object -First 5

Part 8: よくある問題

プッシュが拒否される
# Rebase(推荐,保持历史线性)
git pull --rebase origin master
git push origin master
Rebase 後にコミットが失われる
git reflog -10                      # 查找丢失的提交
git cherry-pick <commit-hash>       # 恢复
git push origin master
タグが誤ったコミットに作成された
git tag -d v1.0.0                   # 删本地
git push origin --delete v1.0.0    # 删远程
git tag -a v1.0.0 <correct-hash> -m "Release v1.0.0"
git push origin v1.0.0

Part 9: よくあるアンチパターン

アンチパターン正しい方法
git add -A && git commit -m "update"段階的にステージングし、意味のあるメッセージを書く
git push --force で main/master にプッシュする--force-with-lease を使うか、禁止する
-a もメッセージもないタグgit tag -a v1.0.0 -m "Release v1.0.0"
スコープや詳細のないコミットメッセージ fix bugfix(auth): 修复 Token 过期后无限循环刷新
バージョン番号をインクリメントせずに飛ばすfeat → MINOR+1、fix → PATCH+1
CHANGELOG を更新せずにリリースする変更履歴とタグを同時に更新する

コメント