チーム開発の基本(ブランチ)
🎯 このレッスンで学ぶこと
- ブランチの役割と使い方がわかります。
- git checkout -b でブランチを作って切り替えることができます。
- git merge で変更を統合できます。
- Pull Request(プルリクエスト)の流れを理解できます。
git push でコードを公開する方法を学びました。今回はチーム開発で使う「ブランチ」を学びます!
🌿 ブランチとは?
ブランチ(branch)は、メインのコードに影響を与えずに新しい機能を開発するための仕組みです。「枝分かれ」という意味です。
たとえば、Webサイトに新しいページを追加したいとき。直接メインのコードを変更すると、途中でバグが入ったときにサイト全体が壊れてしまいます。ブランチを使えば、安全に実験できます。失敗してもブランチを削除すれば元通りです。
実際の開発現場では、ほぼ全てのチームがブランチを使っています。1人で開発する場合でも、ブランチを使うと「試しに作ってみて、ダメなら捨てる」ができるので便利です。
ノートの例えで考えてみましょう:
- main ブランチ = 清書ノート(完成版)
- feature ブランチ = 下書きノート(実験用)
- マージ = 下書きの内容を清書ノートに書き写す
🔀 ブランチを作って切り替える
現在のブランチを確認:
git branch * main と表示されれば、今は main ブランチにいます。
$ git branch
* main 新しいブランチを作って切り替える:
git checkout -b feature-about -b は「新しいブランチを作る」オプションです。これで feature-about ブランチに切り替わりました。
$ git checkout -b feature-about
Switched to a new branch 'feature-about' ブランチを切り替えるだけ(既存のブランチに移動):
git checkout main git branch で全ブランチを表示できます。* がついているのが今いるブランチです。
✏️ ブランチで作業する
feature-about ブランチで作業してみましょう。
echo "<h2>About</h2><p>このサイトについて</p>" > about.html
git add about.html
git commit -m "aboutページを追加" この変更は feature-about ブランチにだけ記録されます。main ブランチには影響しません。試しに main に切り替えると、about.html は見えなくなります。
確認してみましょう:
git checkout main
ls # about.html がない!
git checkout feature-about
ls # about.html がある! 出力例:
$ git checkout main
Switched to branch 'main'
$ ls
index.html
$ git checkout feature-about
Switched to branch 'feature-about'
$ ls
about.html index.html 🔄 変更をマージする
ブランチでの作業が完了したら、main ブランチに統合(マージ)します。
git checkout main
git merge feature-about マージが成功すると、feature-about で追加した about.html が main にも反映されます。
$ git merge feature-about
Updating a1b2c3d..d4e5f6a
Fast-forward
about.html | 1 +
1 file changed, 1 insertion(+)
create mode 100644 about.html 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 push origin feature-about
...
To https://github.com/ユーザー名/my-project.git
* [new branch] feature-about -> feature-about ・コードの間違いを他の人が見つけてくれる
・「なぜこの変更をしたか」の記録が残る
・チーム全員がコードの変更を把握できる
💻 やってみよう!
git checkout -b feature-styleで新しいブランチを作ろう$ git checkout -b feature-style Switched to a new branch 'feature-style'style.cssを作成してgit add→git commitしようecho "body { color: #333; }" > style.css git add style.css git commit -m "スタイルシートを追加"git checkout mainで main に戻り、style.cssがないことを確認しよう$ git checkout main $ ls about.html index.htmlgit merge feature-styleでマージし、style.cssが追加されたことを確認しよう$ git merge feature-style $ ls about.html index.html style.css
⚠️ よくあるミス
- main にいるつもりで別ブランチだった — マージ前に
git branchで現在のブランチを確認しましょう。*がついているのが今いるブランチです。 - マージ先を間違える — 「main に feature を取り込む」なら、まず
git checkout mainしてからgit merge feature-xxxです。逆にすると main の内容が feature に入ります。 - ブランチ名にスペースを入れる —
git checkout -b my branchはエラーになります。ハイフンで繋げてmy-branchとしましょう。
次回はブランチの命名規則(
feature/, fix/)や git switch コマンドなど、もっと実践的なブランチ運用を学びます!
📝 まとめ
- ✅ ブランチでメインに影響を与えずに作業できる
- ✅
git checkout -b ブランチ名で作成と切り替え - ✅
git mergeで変更を統合 - ✅ Pull Requestでチームレビューしてからマージ
- ✅ コンフリクトが起きたら手動で修正
このレッスンは役に立ちましたか?
フィードバックありがとうございます!
📖 このレッスンの用語
⚠️ よくあるエラー
- Permission denied (publickey) — SSH鍵が設定されていない
- TypeError: Assignment to constant variable — constで宣言した変数に再代入している
- ReferenceError: Cannot access before initialization — let/constの宣言前にアクセスしている