開発物をGithubでリリースするためのバージョン管理

バージョニング戦略

リリースにはセマンティックバージョニングを推奨としている。

形式: MAJOR.MINOR.PATCH (例: v1.2.3)

  • MAJOR: 互換性のない大きな変更
  • MINOR: 後方互換性のある機能追加
  • PATCH: バグ修正

ブランチ戦略

main (または master)        # 本番環境用の安定版
├── develop              # 開発用のメインブランチ
├── feature/xxx          # 新機能開発
├── release/v1.0.0       # リリース準備
└── hotfix/xxx           # 緊急修正

例:

# 開発ブランチの作成
git checkout -b develop

# 新機能の開発
git checkout -b feature/user-authentication
# 開発作業...
git add .
git commit -m "feat: ユーザー認証機能を追加"
git checkout develop
git merge feature/user-authentication

# リリースブランチの作成
git checkout -b release/v1.0.0
# バージョン番号の更新、最終テスト
git commit -m "chore: v1.0.0リリース準備"

# mainにマージしてタグ付け
git checkout main
git merge release/v1.0.0
git tag -a v1.0.0 -m "バージョン1.0.0リリース"
git push origin main --tags

コミットメッセージの規則

形式: <type>: <subject>

feat: 新機能追加
fix: バグ修正
docs: ドキュメント更新
style: コードスタイル変更
refactor: リファクタリング
test: テスト追加
chore: ビルドプロセスやツールの変更

git commit -m "feat: 記事の下書き保存機能を追加"
git commit -m "fix: 画像アップロード時のエラーを修正"
git commit -m "docs: APIドキュメントを更新"

便利なGitコマンド

現在のバージョンタグを確認

git tag

特定バージョンにチェックアウト

git checkout v1.0.0

バージョン間の差分を確認

git diff v1.0.0 v1.1.0

コミット履歴を見やすく表示

git log --oneline --graph --all

コメント