GitHubでチーム開発をしているとよく聞く「ブランチ」や「プルリクエスト」。
なんとなく使っているけれど、本当の意味や仕組みはよくわからない…という方も多いのではないでしょうか。
この記事では、GitHubの開発フローにおける「ブランチ」と「プルリクエスト」の仕組みや使い方を、初心者にもわかりやすく丁寧に解説していきます。
ブランチとは?役割と基本の考え方
GitHubにおけるブランチ(branch)とは、メインのコード(mainブランチ)とは別に作業用の分岐をつくる仕組みです。
たとえば「本番で動いているmainブランチをそのままにして、新しい機能の開発だけ別で進めたい」という場面では、新しく「feature/〇〇」や「fix/〇〇」などの名前でブランチを作成します。
このブランチは「mainブランチのコピーのようなもの」で、別の場所で自由に編集や実験ができる安全な作業スペースといえます。
そして作業が終わったら、その内容をmainブランチに取り込む(=マージする)という流れになります。
この「分岐 → 作業 → 統合」というスタイルによって、複数人が同時に作業してもコードが混ざらず、安全で効率的なチーム開発が実現できるのです。
GitHub Flowとは?
GitHub Flowは、GitHubを使ったシンプルで効果的な開発フローのひとつで、多くの開発チームが採用しています。
特徴は「mainブランチは常に安定している状態に保ち、すべての変更は作業用ブランチから始める」という考え方です。
以下のような流れで進めていきます:
- mainブランチは本番運用に使われる安定したコードの集まり
- 作業ブランチ(feature/○○)をmainから切って、個別に開発・修正作業を進める
- 作業が完了したら、プルリクエスト(Pull Request)を送ってチームにレビューしてもらう
- レビューが通ったら、mainブランチにマージして開発完了
このような手順を踏むことで、mainブランチを壊すリスクを最小限に抑えながら、安全に複数人での開発ができるようになります。
ここでは触りだけになるため、別記事でより深くGitHub Flowについて深掘る予定です。
次のセクションでは、実際にGitHub上でブランチを作成する方法を見ていきましょう。
ブランチを作成してみよう
ここからは、実際にGitHubで新しいブランチ(branch)を作成してみましょう。
GitHubでは、ひとつのリポジトリ内に複数のブランチを作成し、元のコード(main)とは別に作業を進めることができます。
たとえば、「デザイン変更用」や「新機能追加用」といった目的ごとにブランチを使うと、変更の影響範囲を限定しながら安全に開発が進められます。
一般的に、作業用のブランチは feature/●●
のように名前をつけるのが推奨されます(例:feature/login-page
)。
このような作業ブランチを作って、その中で機能追加や修正などを行い、作業が完了したらmainブランチにマージするというのが、よくある開発の流れです。
① GitHubのリポジトリ画面にアクセス
まずは対象のリポジトリにアクセスします。
② ブランチのドロップダウンを開く
画面左上にある「main
▼」というボタンをクリックすると、現在のブランチと既存のブランチ一覧が表示されます。
③ 作成したいブランチ名を入力
検索欄に新しいブランチ名(例:feature/header
)を入力します。
④ 「Create branch: ○○ from ‘main’」をクリック
これで新しいブランチが作成されます。mainブランチの内容をコピーした状態でスタートするので、編集・作業にすぐ取りかかれます。
ブランチ作成後、Branches画面に行くとこんな感じでブランチが作成されています。
このあとは、作業ブランチでコードを編集したり、機能を追加したりしながら進め、作業が完了したらmainブランチへマージ(統合)することで、変更を他のブランチへ取り込むことができます。
ここでは画面でブランチを作成しておりますが、コマンドプロンプトやターミナルからでも作成は可能です。(コマンドでの実行は別記事で解説予定です。)
プルリクエストとは?
プルリクエスト(Pull Request)とは、GitHubで変更内容をmainブランチなどに統合(マージ)したいときに使う、開発フローの中核的な機能です。
よくプルリクとか、PRとか呼んだりします。
GitHub Flowの流れに沿って作業ブランチでの開発が完了したら、「このブランチの内容をmainに取り込んでください」と依頼するのがプルリクエストです。
① 作業ブランチでコードを編集・コミット
編集が終わったら、リモートのGitHubリポジトリへpushします。
② GitHubでプルリクエストを作成
対象のリポジトリ画面で「Compare & pull request」ボタンをクリックします。
マージ先ブランチ、マージ元ブランチを選択します。
選択後に、「Create pull request」をクリックします
タイトルと説明文の入力できる画面に遷移するので、ここで諸々入力を行い、「Create pull request」をクリックすれば作成完了です。
③ レビュー・確認
チームの他メンバーが、内容を確認してコメントや修正依頼を行うことができます。
レビュアーを指定するには、画面の右上部分にあるreviewerをクリックすることでメンバーを選択することができます。
リポジトリの設定次第で自分以外の誰かがこのレビューに対していapproveしないとマージできないようにすることもできます。
僕のいるチームではプルリク作成した後、「PRしました。レビューお願いします」みたいな感じでチームのメンバーにレビュー依頼をお願いしたりしてます。
④ マージ
最終確認の後、mainブランチにマージします(マージボタンを押すだけ)。これで作業ブランチの変更が正式に取り込まれます。
ポイント:
プルリクエストには、変更内容の差分表示やレビューコメント、コミット履歴などがすべて可視化されます。これにより、開発の透明性とチームの連携が大幅に向上します。
いかがでしたでしょうか?初めて触ると恐る恐るになりますが、慣れてしまえばブランチの作成からPRの作成、マージまで問題なくできるようになります。
次回は、このプルリクエストの詳細(レビューの進め方、マージ方法の種類、よくあるトラブルとその回避法など)を、より実践的に解説していく予定です。
新着情報
ブログランキングに参加しています。クリックして応援していただけると嬉しいです。