目次
GitHubのPull RequestとIssuesの違いのまとめ
目的 | 進め方 | クローズ方法 | |
---|---|---|---|
Pull Request (PR) |
変更したコードをメインに取り込んでもらうための提案 | 作業用ブランチ → Pull Request作成 → レビュー → マージ |
変更がマージされると自動で閉じる |
Issues | バグ・要望・アイデアなどやることを管理する | Issue作成 → コメントや担当者決定 → 解決でクローズ |
対応が完了したら手動またはPull Requestと連携して閉じる |
チーム開発では、以下の流れで使うことが多いです。
1.問題や要望を Issue に書く
2.解決のための変更を Pull Request で提案する
Pull Request(PR)とは
コード変更の提案機能です。
自分が編集したブランチの変更を、メインのブランチ(例: main/master)に取り込んでほしいと依頼する仕組みです。
Pull Request の基本的な流れ
1.ブランチを作成
mainブランチから新しい作業用ブランチを作り、その中で修正や機能追加を行います。
2.変更をコミット & プッシュ
作業ブランチにコードをコミットして、GitHubにプッシュします。
3.Pull Request(PR)を作成
GitHub上で「このブランチの変更を main に取り込みたい」とリクエストを出します。
→ これが「Pull Request」。
4.レビュー
他の開発者やチームメンバーがPRを確認し、コメントをつけたり、修正を依頼したりします。
5.マージ
問題がなければPRを承認し、mainブランチに「マージ」して変更を反映させます。
Pull Request の役割
コードレビュー:ほかの人が内容を確認できる。
議論の場:コメントや提案を通して、設計や実装方針を議論できる。
履歴管理:誰がどんな変更を提案し、どう承認されたかが残る。
Issuesとは
プロジェクトの 課題管理・タスク管理・ディスカッションの場を提供する機能です。
Pull Requestがコード変更の提案だとすると、Issuesはやるべきことや問題点を整理する掲示板のようなものです。
Issuesでできること
バグ報告
例:「ログイン画面でエラーが出る」
新機能の要望
例:「ダークモードを追加してほしい」
作業タスクの管理
例:「ドキュメントを英語に翻訳する」
議論・アイデア共有
例:「データベース設計をどうするか話し合いたい」
Issues の特徴
・タイトルと本文で課題内容を説明できる。
・コメント機能でチームメンバーが議論できる。
・ラベル(Labels)を付けて分類できる。(例:bug, enhancement, question)
・担当者(Assignees)を設定して、誰が対応するか決められる。
・マイルストーン(Milestones)で期日やリリースに紐づけられる。
・Pull Request と連携
「このPRがマージされたらIssueを自動的にクローズする」ことが可能。
(例:PRの本文にCloses #10と書くと、マージ時にIssue #10 が閉じる)
Actionsとは
GitHubリポジトリに組み込まれている 自動化ツール(CI/CD: 継続的インテグレーション/継続的デリバリー) の仕組みです。
できることの例
テストの自動実行
コードをpush/PRしたときに、自動でユニットテストを実行。
ビルドの自動化
アプリをビルドし、成果物(artifact)を生成。
デプロイの自動化
AWS・Azure・GCPなどのクラウドに自動でデプロイ。
定期処理(スケジュール実行)
毎日午前0時にスクリプトを実行、などの定期ジョブ。
コード品質チェック
Linterや静的解析ツールを自動で回す。
関連の記事