コラボレーション — GitHub Flow · PR · コードレビュー · コミット規約
コラボレーション — GitHub Flow · PR · コードレビュー · コミット規約
🎯 この lesson を読み終えたら
この lesson を読み終えると、以下の 3 つを自信を持って実践できるようになります。
- ▸✅ Pull Request / コードレビューの標準フロー
- ▸✅ PR テンプレート + テストプランの作成
- ▸✅ フィーチャーフラグ + 段階的デプロイ
学習目標をチェックリストとして持ち、すべてに答えられるようになったら lesson を閉じてください。
GitHub Flow — 最もシンプルなコラボレーションパターン
1. main からブランチを切る — git checkout -b feature/awesome
2. 作業 + 頻繁に push — コミット + 即 push(バックアップ + CI トリガー)
3. 早めに PR を作成 — Draft PR — 作業を続けながら並行してレビュー可能
4. 議論・修正 — コメント → 追加コミット → CI 再実行
5. 承認 + マージ — レビュー OK + CI グリーン → main にマージ
6. 自動デプロイ — CD が main を本番に自動デプロイ(通常 5 分以内)
> 💡 Git Flow との違い: develop/release ブランチなし。main の 1 本 + フィーチャーブランチのみ。SaaS に最適。
Pull Request 6 ステップサイクル
1. ブランチ + コミット — feature ブランチで作業 + コミット + push
2. PR 作成 — GitHub の Compare & pull request → タイトル・説明を記入
3. CI 自動実行 — GitHub Actions がビルド・テスト・リントを自動実行
4. レビュー依頼 — Reviewers を指定。Slack・メールでも通知
5. 議論・修正 — コメント → 追加コミット → 自動更新。承認まで繰り返す
6. マージ — 承認 + CI 通過 → main にマージ。ブランチは自動削除
良い PR タイトル:
- ▸❌
fix bug - ▸✅
fix(auth): JWT 有効期限処理 — 401 レスポンス + リフレッシュトークン再発行
良い PR 説明(テンプレート):
コードレビュー 6 原則
1. コードを見る、人を見ない — 「この部分がダメ」ではなく「こうしたらどうでしょう?」。人格攻撃は NG
2. 質問形式で — 「なぜこうした?」✅ / 「これは間違い」❌。議論を促す
3. 理由 + 提案 — 「NPE の可能性があります。null チェックはどうでしょう?」— 問題と解決策をセットで
4. 優先度を示す — [Blocking]·[Suggestion]·[Nit] 重要度を明示
5. 良い点も褒める — 「この部分、スッキリしていますね!」— ポジティブなフィードバックで励ます
6. 学習資料を添付 — 関連ドキュメント・ブログのリンク — 共に成長する
レビュアーチェックリスト:
- ▸[ ] コードが PR の説明と一致しているか
- ▸[ ] テストは十分か
- ▸[ ] 命名は明確か
- ▸[ ] エラー処理・エッジケース
- ▸[ ] セキュリティ(シークレット・SQL インジェクション・XSS)
- ▸[ ] パフォーマンス(N+1・不要な計算)
コミット規約 — Conventional Commits
フォーマット: <type>(<scope>): <description>
type 一覧:
自動化のメリット:
- ▸
git log --grep "^feat"— feat コミットだけ表示 - ▸CHANGELOG の自動生成(
semantic-release) - ▸SemVer の自動化: feat=minor / fix=patch / BREAKING CHANGE=major
- ▸
commitlintで規約違反の PR を CI でブロック
> 💡 日本語メッセージも OK。肝心なのは type プレフィックス と 理由の明示 です。
🤖 AI にこう頼んでみましょう
この lesson の概念を理解していれば、AI に具体的に指示できます。漠然とした「直して」ではなく、語彙を持ったリクエスト — それがトークン節約の出発点です。
- ▸「この PR 本文を '## Summary / ## Test plan / ## Risks' テンプレートで書き直して」
- ▸「このコードレビューに効果的なコメント(質問形式 + 代替案提示)の例を 3 つ教えて」
なぜこれがトークンを減らすのか
概念を知らないと、AI の回答を受け取っても「それって何ですか?」とまた聞き返す必要があります。その「聞き返し」がトークンを消費します。概念を一度覚えてしまえば、会話が 1 回でゴール します。