Git Workflow Skill
📋 目次
概要
このSkillは、Gitを使った開発ワークフローの全てをカバーします:
- ✅ ブランチ戦略の選択と運用
- ✅ コミットメッセージ規約(Conventional Commits)
- ✅ PR作成・レビュー・マージプロセス
- ✅ コンフリクト解決手法
- ✅ Git hooks活用
- ✅ リベース vs マージの判断基準
- ✅ 過去の失敗パターンと対策
📚 公式ドキュメント・参考リソース
このガイドで学べること: ブランチ戦略の選択、コミット規約、PR運用、コンフリクト解決、Git hooks活用 公式で確認すべきこと: 最新のGit機能、GitHub/GitLab新機能、セキュリティベストプラクティス
主要な公式ドキュメント
-
Git Documentation - Git公式ドキュメント
-
GitHub Documentation - GitHub公式ガイド
-
Conventional Commits - コミットメッセージ規約
-
GitLab Documentation - GitLab公式ドキュメント
関連リソース
- Atlassian Git Tutorials - Git学習リソース
- Oh Shit, Git!?! - Git問題解決ガイド
- Git Flight Rules - Git緊急対応ガイド
いつ使うか
自動的に参照されるケース
- 新しいブランチを作成する時
- コミットを作成する時
- PRを作成する時
- マージコンフリクトが発生した時
- Git操作で問題が発生した時
手動で参照すべきケース
- プロジェクト開始時のブランチ戦略決定
- Git運用ルールの見直し時
- チームメンバーへのGit教育時
ブランチ戦略
戦略の選択
プロジェクトに応じて最適なブランチ戦略を選択:
| 戦略 | 適用ケース | 詳細ガイド | |------|-----------|-----------| | GitHub Flow | 継続的デプロイ、小規模チーム | guides/01-github-flow.md | | Git Flow | 定期リリース、大規模プロジェクト | guides/02-git-flow.md | | Trunk-Based | 高頻度デプロイ、成熟したCI/CD | guides/03-trunk-based.md |
ブランチ命名規則
<type>/<ticket-number>-<short-description>
例:
feature/PROJ-123-add-user-authentication
bugfix/PROJ-456-fix-memory-leak
hotfix/PROJ-789-critical-crash-fix
詳細: guides/04-branch-naming.md
コミット規約
Conventional Commits
全てのコミットメッセージは以下の形式に従う:
<type>(<scope>): <subject>
<body>
<footer>
Type一覧
| Type | 説明 | 例 |
|------|------|-----|
| feat | 新機能 | feat(auth): add biometric authentication |
| fix | バグ修正 | fix(ui): resolve layout issue on iPad |
| refactor | リファクタリング | refactor(network): simplify API client |
| perf | パフォーマンス改善 | perf(images): implement lazy loading |
| test | テスト追加・修正 | test(login): add unit tests for validation |
| docs | ドキュメント | docs(readme): update installation steps |
| chore | ビルド・設定等 | chore(deps): update dependencies |
| ci | CI/CD | ci(github): add caching to workflow |
詳細ガイド: guides/05-commit-messages.md
コミット前チェックリスト
PR管理
PR作成時
- タイトル: コミットメッセージ形式に従う
- 説明: テンプレートを使用 → templates/pull-request-template.md
- レビュワー: 適切な担当者をアサイン
- ラベル: 種類・優先度・ステータス
PR説明テンプレート
## 概要
<!-- 何を変更したか簡潔に -->
## 変更内容
<!-- 主な変更点を箇条書き -->
-
-
## 動作確認
<!-- テスト方法・確認項目 -->
- [ ] 単体テスト実行
- [ ] 実機での動作確認
- [ ] UIテスト実行
## スクリーンショット
<!-- 必要に応じて -->
## 関連Issue
Closes #XXX
PRレビューガイド
PRマージ前チェックリスト
よくある問題
コンフリクト解決
詳細: guides/07-conflict-resolution.md
リベース vs マージ
| 状況 | 推奨 | 理由 | |------|------|------| | featureブランチの更新 | Rebase | 履歴を綺麗に保つ | | mainへのマージ | Merge (Squash) | PRの履歴を保持 | | 公開済みブランチ | Merge | 履歴改変を避ける |
詳細: guides/08-rebase-vs-merge.md
過去のトラブル事例
Agent連携
このSkillを使用するAgents
-
branch-creator-agent
- イシューから自動的にブランチ作成
- 命名規則を自動適用
- Thoroughness:
quick
-
commit-validator-agent
- コミットメッセージ検証
- Conventional Commits準拠チェック
- Thoroughness:
quick
-
pr-reviewer-agent
- PR自動レビュー
- チェックリスト確認
- Thoroughness:
medium
-
conflict-resolver-agent
- コンフリクト分析
- 解決方法提案
- Thoroughness:
thorough
推奨Agentワークフロー
PR作成時(並行実行)
pr-validator-agent (quick) +
commit-history-checker-agent (quick) +
branch-policy-checker-agent (quick)
→ 結果統合 → PRコメント
マージ前(順次実行)
final-review-agent (thorough)
→ test-runner-agent (medium)
→ merge-safety-checker-agent (quick)
→ マージ実行
Agentパラメータ例
Task: PRの自動レビューを実行
Agent: pr-reviewer-agent
Skill: git-workflow
Thoroughness: medium
Parameters:
- check_commit_messages: true
- check_branch_name: true
- check_pr_description: true
- auto_comment: true
クイックリファレンス
よく使うコマンド
# 新しいfeatureブランチ作成
git checkout -b feature/PROJ-123-description
# コミット
git add .
git commit -m "feat(scope): description"
# mainの変更を取り込む(rebase)
git fetch origin
git rebase origin/main
# PR用にpush
git push -u origin feature/PROJ-123-description
トラブルシューティング
| 問題 | 解決方法 | 詳細 | |------|---------|------| | コンフリクト発生 | guides/07-conflict-resolution.md | 段階的解決手順 | | 間違ったコミット | references/undo-commands.md | reset, revert使い分け | | ブランチ間違い | references/branch-recovery.md | cherry-pickで復旧 |
詳細ドキュメント
Guides(詳細ガイド)
- GitHub Flow完全ガイド
- Git Flow完全ガイド
- Trunk-Based Development
- ブランチ命名規則
- コミットメッセージ規約
- PRレビューガイド
- コンフリクト解決
- Rebase vs Merge
- Git Hooks活用
- トラブルシューティング
Checklists(チェックリスト)
Templates(テンプレート)
References(リファレンス)
Incidents(過去の問題事例)
学習リソース
更新履歴
このSkill自体の変更履歴は CHANGELOG.md を参照