Git コース
✓
✓
✓
4
チーム開発の基本(ブランチ)
⏱ 約25分
やってみよう 1
クイズ 1
🎯 このレッスンで学ぶこと
- ブランチの役割と使い方がわかります。
- git checkout -b でブランチを作って切り替えることができます。
- git merge で変更を統合できます。
- Pull Request(プルリクエスト)の流れを理解できます。
📖 前回の復習:前回はGitHubにリポジトリを作り、
git push でコードを公開する方法を学びました。今回はチーム開発で使う「ブランチ」を学びます!
🌿 ブランチとは?
ブランチ(branch)は、メインのコードに影響を与えずに新しい機能を開発するための仕組みです。「枝分かれ」という意味です。
たとえば、Webサイトに新しいページを追加したいとき。直接メインのコードを変更すると、途中でバグが入ったときにサイト全体が壊れてしまいます。ブランチを使えば、安全に実験できます。
ノートの例えで考えてみましょう:
- main ブランチ = 清書ノート(完成版)
- feature ブランチ = 下書きノート(実験用)
- マージ = 下書きの内容を清書ノートに書き写す
🔀 ブランチを作って切り替える
現在のブランチを確認:
git branch
* main と表示されれば、今は main ブランチにいます。
新しいブランチを作って切り替える:
git checkout -b feature-about
-b は「新しいブランチを作る」オプションです。これで feature-about ブランチに切り替わりました。
ブランチを切り替えるだけ(既存のブランチに移動):
git checkout main
✏️ ブランチで作業する
feature-about ブランチで作業してみましょう。
echo "<h2>About</h2><p>このサイトについて</p>" > about.html
git add about.html
git commit -m "aboutページを追加"
この変更は feature-about ブランチにだけ記録されます。main ブランチには影響しません。
確認してみましょう:
git checkout main
ls # about.html がない!
git checkout feature-about
ls # about.html がある!
🔄 変更をマージする
ブランチでの作業が完了したら、main ブランチに統合(マージ)します。
git checkout main
git merge feature-about
マージが成功すると、feature-about で追加した about.html が main にも反映されます。
⚠️ コンフリクト(衝突)が起きたら:同じファイルの同じ行を別々のブランチで変更すると、Gitはどちらを採用すべきかわかりません。ファイルを開いて手動で修正し、
git add → git commit してください。
📋 Pull Request(プルリクエスト)
チームで開発するときは、直接マージするのではなく Pull Request(プルリクエスト、略してPR) を使います。
- ブランチで作業してコミット
git push origin feature-aboutでGitHubに送信- GitHubの画面で「Pull Request」を作成
- チームメンバーがコードをレビュー(確認)
- 問題なければ「Merge」ボタンでマージ
git push origin feature-about
Pull Requestを使うと、コードの品質を保ちながらチーム開発ができます。
💻 やってみよう!
git checkout -b feature-styleで新しいブランチを作ろうstyle.cssを作成してgit add→git commitしようgit checkout mainで main に戻り、style.cssがないことを確認しようgit merge feature-styleでマージし、style.cssが追加されたことを確認しよう
📝 まとめ
- ✅ ブランチでメインに影響を与えずに作業できる
- ✅
git checkout -b ブランチ名で作成と切り替え - ✅
git mergeで変更を統合 - ✅ Pull Requestでチームレビューしてからマージ
- ✅ コンフリクトが起きたら手動で修正
このレッスンは役に立ちましたか?
フィードバックありがとうございます!
目次
📖 このレッスンの用語
⚠️ よくあるエラー
- for 文が無限ループになる — 条件式やカウンタの更新が間違っている
- 配列の要素が undefined になる — インデックスが範囲外
- イベントリスナーが2回発火する — addEventListener を2回登録している