メインコンテンツまでスキップ

Day 5: ブランチとプルリクエスト - チーム開発の第一歩 🤝

🎯 今日の目標

  • ブランチの概念を理解する
  • プルリクエスト(PR)を作成できるようになる
  • レビューとマージの流れを体験する
  • 簡単なコンフリクトを解決できるようになる

📚 ブランチとは?

ブランチの基本概念

ブランチは、メインの開発ラインから分岐した独立した作業空間です。新機能の開発やバグ修正を、他の人の作業に影響を与えずに行うことができます。

main     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

feature ━━━━━━━━━○━━━○━━━○━━━━━━━━━━━━━━━━━━━━
新機能を開発

なぜブランチを使うの?

  • 🛡️ 安全性: メインのコードを壊さない
  • 👥 協働: 複数人が同時に異なる機能を開発できる
  • 📝 履歴管理: 各機能の開発履歴が明確になる
  • 🔄 実験: 新しいアイデアを気軽に試せる

🌿 ブランチの作成と切り替え

1. 現在のブランチを確認

ブラウザでリポジトリを開き、ブランチボタンをクリックすると現在のブランチが表示されます。

2. 新しいブランチを作成

  1. ブランチのドロップダウンメニューをクリック
  2. テキストボックスに新しいブランチ名を入力(例: feature/profile-update
  3. 「Create branch: feature/profile-update from 'main'」をクリック

ブランチ名の付け方のコツ

良い例:
- feature/add-dark-mode
- fix/login-error
- update/readme-instructions

避けたい例:
- test
- mywork
- branch1

📨 プルリクエスト(PR)の作成

プルリクエストとは?

自分の変更を本番環境(mainブランチ)に取り込んでもらうためのリクエストです。コードレビューを通じて、品質を保ちながら開発を進められます。

PR作成の手順

1. ブランチで変更を加える

# 例: READMEに新しいセクションを追加
## 🌟 新機能
- ダークモード対応
- 多言語サポート

2. 変更をコミット

  1. ファイルを編集
  2. 「Commit changes」ボタンをクリック
  3. わかりやすいコミットメッセージを入力

3. プルリクエストを作成

  1. リポジトリのトップページに戻る
  2. 「Compare & pull request」ボタンをクリック
  3. PR作成画面で以下を入力:
## 概要
プロフィールページに新機能セクションを追加しました。

## 変更内容
- 🌟 新機能セクションを追加
- ダークモード対応について記載
- 多言語サポートについて記載

## 確認項目
- [ ] READMEの表示が正しいか確認
- [ ] 誤字脱字がないか確認
- [ ] マークダウンの書式が正しいか確認
  1. 「Create pull request」ボタンをクリック

👀 レビューとマージ

レビューの重要性

  • 🐛 バグの早期発見: 他の人の視点でミスを見つけられる
  • 📚 知識共有: チーム全体のスキル向上
  • 🎨 品質向上: より良いコードに改善できる

レビューコメントの例

良いコメント:
- 「この部分をもう少し詳しく説明すると、初心者にもわかりやすくなると思います」
- 「絵文字を使って見やすくなりましたね!」
- 「ここにスクリーンショットがあると更に良いかもしれません」

避けたいコメント:
- 「ダメ」
- 「全然違う」
- 「やり直し」

マージの手順

  1. レビューが完了し、承認されたら
  2. 「Merge pull request」ボタンをクリック
  3. 「Confirm merge」をクリック
  4. ブランチの削除(オプション)

⚔️ コンフリクトの解決

コンフリクトとは?

複数の人が同じファイルの同じ場所を編集したときに発生する競合状態です。

コンフリクトの例

<<<<<<< feature/update-title
# 私のすごいプロジェクト
=======
# Our Amazing Project
>>>>>>> main

解決方法

  1. GitHubのWebエディタで解決:

    • 「Resolve conflicts」ボタンをクリック
    • どちらの変更を採用するか選択
    • または両方を組み合わせて編集
  2. 解決後の例:

# 私のすごいプロジェクト / Our Amazing Project

🎯 実践演習

演習1: 初めてのブランチ作成

  1. practice/your-nameというブランチを作成
  2. 自己紹介ファイルを追加
  3. mainブランチに戻って違いを確認

演習2: PRの作成とマージ

  1. ブランチでpractice.mdファイルを作成
  2. 好きな食べ物リストを追加
  3. PRを作成してセルフマージ

演習3: コンフリクトの体験

  1. mainブランチでconflict-test.mdを作成
  2. 2つの異なるブランチから同じファイルを編集
  3. PRでコンフリクトを解決

🚀 応用テクニック

ブランチ戦略

  • Feature Branch: 機能ごとにブランチを作成
  • Git Flow: 開発用、リリース用など用途別にブランチを管理
  • GitHub Flow: シンプルにmainとfeatureブランチのみ

PRテンプレート

.github/pull_request_template.mdを作成すると、PR作成時に自動的にテンプレートが適用されます。

## 変更の概要

## 変更の種類
- [ ] バグ修正
- [ ] 新機能
- [ ] ドキュメント更新
- [ ] その他

## チェックリスト
- [ ] 動作確認済み
- [ ] ドキュメント更新済み
- [ ] レビュー依頼済み

❓ よくある質問

Q: ブランチを削除してしまった!

A: GitHubの「branches」ページから、最近削除されたブランチを復元できます。

Q: 間違えてマージしてしまった!

A: PRのページから「Revert」ボタンで変更を取り消すPRを作成できます。

Q: コンフリクトが解決できない!

A: 一旦落ち着いて、変更内容を整理してから解決しましょう。必要であれば、チームメンバーに相談してください。

📝 今日のまとめ

✅ ブランチを使った安全な開発方法を学びました ✅ プルリクエストでコードレビューの流れを体験しました ✅ コンフリクトの解決方法を理解しました

明日は、GitHub Classroomを使った課題の提出方法を学びます!

🔗 参考リンク