GitHub Desktop を使った チームでのレビュー&PR運用ベストプラクティス
目次
- 1. 0. 目的
- 2. 1. PR の基本方針
- 3. 2. ブランチ運用(おさらい)
- 4. 3. PR 作成時のテンプレ(コピペ可)
- 5. 4. レビュアーのチェックリスト
- 6. 5. コメントの作法(生産的なレビュー)
- 7. 6. マージルール
- 8. 7. ラベル運用例(コピペ導入)
- 9. 8. CODEOWNERS / Branch 保護
- 10. 9. CI/チェック(将来導入前提の最小構成)
- 11. 10. GitHub Desktop の運用 Tips
- 12. 11. 失敗しにくい運用の型
- 13. 12. 付録:PR 例タイトル & コミット文(Conventional Commits)
- 14. 13. 著者チェックリスト(配布用)
0. 目的
- 変更の品質を上げる(バグ流入を減らす)
- レビュー負荷を平準化して継続可能にする
- 履歴を読みやすく保ち、将来の保守コストを下げる
前提:リポジトリ管理・コミット/プッシュは GitHub Desktop、編集は VS Code。
1. PR の基本方針
- 小さく速く:1PR の目安は ~300 行差分 / 15–20分で読める 規模
- 1PR = 1目的(リファクタと機能追加を混在させない)
- Draft PR 早期作成:方向性レビューを早く受けて手戻りを減らす
- Squash & merge 推奨:main / develop の履歴をきれいに保つ
- レビュー SLA:一次反応は 24h 以内(チーム合意)
2. ブランチ運用(おさらい)
- main:常にリリース可能。直 push 禁止(PR 経由のみ)
- develop:次版の統合(必要なチームのみ運用)
- feature/*:作業用。例)feature/add-login
- 着手前 Pull → feature 作成 → コミット/プッシュ → PR
GitHub Desktop:
- Fetch origin → Pull で最新化
- Branch → New Branch で作業ブランチ作成
- 右上 Create Pull Request で PR 作成(GitHub が開く)
3. PR 作成時のテンプレ(コピペ可)
.github/pull_request_template.md に保存推奨。
## 目的
(このPRで達成したいこと。背景・課題)
## 変更点
- 箇条書きで
## 動作確認
- 手順(再現手順/期待結果)
- スクリーンショット/ログ(必要に応じて)
## 影響範囲
- 影響するモジュール/画面/設定
## 確認項目(作者)
- [ ] ビルド/テスト通過
- [ ] Lint/Formatter 通過
- [ ] セキュリティに関わる差分なし/対策済み
- [ ] ドキュメント更新(必要なら)
## 備考
(レビュー観点の誘導、フォローアップPR予定など)
4. レビュアーのチェックリスト
設計/仕様
- 仕様要件を満たしているか、仕様の解釈にズレはないか
- 責務の分離、命名・可読性、変更範囲の妥当性
品質
- 既存機能を壊していないか(回帰)
- 例外・エラーハンドリング、境界ケース
- パフォーマンス/セキュリティ影響
メンテナンス
- テストの有無(単体/簡易でも可)
- ドキュメント/コメントは十分か
- 将来の拡張に耐えられる設計か
結果
- 変更要求(Request changes)/承認(Approve)/コメントのみ(Comment)
5. コメントの作法(生産的なレビュー)
- 主観→理由→代替案 の順で書く例)「読みづらい → X と Y が同一責務に見えるため → Z に分割はどうでしょう」
- Nit(好み)と Must(必須修正)を明確に
- 承認後の小指摘は フォローアップ Issue/PR に回す
6. マージルール
- 原則 Squash & merge
- main / develop の履歴を要約コミットで保持
- タイトルは「スコープ: 要約」(例:feat(auth): add login)
- コンフリクト発生時
- GitHub Desktop の Resolve conflicts → Accept Current/Incoming/Both
- 必要なら VS Code で手動編集 → Mark as resolved → Commit merge
- マージ後
- 不要な feature ブランチを削除
- 最新を Pull しローカルを同期
7. ラベル運用例(コピペ導入)
- 種別:type:feat type:fix type:docs type:refactor
- 重要度:prio:high prio:normal prio:low
- 範囲:area:frontend area:backend area:infra
- 状態:status:draft status:review-needed status:changes-requested
ラベルで レビュー優先順位 を視覚化。
8. CODEOWNERS / Branch 保護
- CODEOWNERS で領域ごとの標準レビュアーを自動アサイン
# /src/auth 配下は Auth チームが担当
/src/auth/* @org/auth-team
- Branch protection rules(GitHub 設定)
- main(推奨:developも)を保護
- 直 push 禁止
- 最低1–2名のレビュー必須
- ステータスチェック必須(CI 合格がマージ条件)
9. CI/チェック(将来導入前提の最小構成)
- Lint/Format(例:ESLint / Prettier、dotnet format など)
- Unit Test(スモールでも OK)
- Build(本番と同等のビルドを最低限)
PR に緑のチェックが付く状態を「合格」と定義。
10. GitHub Desktop の運用 Tips
- 「History」タブで過去のコミット要約を確認し、PR 単位の差分把握に慣れる
- コンフリクト時は 差分プレビューで “どちらの意図が正しいか” を判断材料に
- Revert で安全に巻き戻す(ただし main へ直接は不可。PR で)
11. 失敗しにくい運用の型
- 毎朝 Pull → 小粒で Draft PR
- 昼までに1レビュー(SLA 24h の前倒し運用)
- 夕方に Squash マージ(まとめてではなく都度)
- 大型変更は 設計PR(ドキュメントだけの PR)を先に出して合意
12. 付録:PR 例タイトル & コミット文(Conventional Commits)
- タイトル:feat(auth): add login form and validation
- Squash コミット本文:
- add /login route and page
- implement client-side validation
- update auth API client
13. 著者チェックリスト(配布用)
- 目的と背景を PR に記述した
- 変更点・動作確認手順を書いた
- 影響範囲を明記した
- スクショ/ログ(必要な場合)を添付した
- Lint/Formatter/Build/Tests が通った
- PR を小さく保ち、フォローアップは分割した
まとめ
- 小さく速く、PR は1目的
- Draft で早く見せる → SLA 24h
- Squash & merge とブランチ保護で履歴を健全に
- GitHub Desktop を中心に、レビューと品質の型を「チームの習慣」に落とし込む
訪問数 6 回, 今日の訪問数 1回
ディスカッション
コメント一覧
まだ、コメントがありません