目次
GitHubのPull RequestとIssuesの違いのまとめ
Pull Requests (プルリクエスト)とIssues (イシュー)は、GitHubの中心的な機能です。
| 目的 | 進め方 | クローズ方法 | |
|---|---|---|---|
| Pull Request (PR) |
「何をしたか」 変更したコードをメインに取り込んでもらうための提案 |
「コードの変更」 作業用ブランチ → Pull Request作成 → レビュー |
「コードのマージ」 |
| Issues | 「何をするか」 バグ・要望・アイデアなどやることを管理する |
「テキストベースの議論」 Issue作成 → コメントや担当者決定 |
「課題の解決」 |
チーム開発では、以下の流れで使うことが多いです。
1.問題や要望を Issue に書く
2.解決のための変更を Pull Request で提案する
Pull Request(PR)とは
![]()
「コードを変更したので、確認して取り込んでください」という依頼する機能です。
修正したコードをメインのプログラム(mainブランチなど)に合流(マージ)させる前に、他のメンバーに内容をチェックしてもらうために使います。
いつ使うか:
コードの修正や追加が終わったとき
他の人にコードレビュー(内容の確認)をお願いしたいとき
主な機能:
Diff 表示: 変更前と変更後の差分を一行ずつ確認
Review: 特定の行に対して「ここ、もっとこうした方がいいよ」とコメント
Merge: 承認されたコードを本番環境へ統合
Pull Request の基本的な流れ
| 1.ブランチを作成 | mainブランチから新しい作業用ブランチを作り、その中で修正や機能追加を行います。 |
| 2.変更をコミット & プッシュ | 作業ブランチにコードをコミットして、GitHubにプッシュします。 |
| 3.Pull Request(PR)を作成 | GitHub上で「このブランチの変更を main に取り込みたい」とリクエストを出します。 → これが「Pull Request」。 |
| 4.レビュー | 他の開発者やチームメンバーがPRを確認し、コメントをつけたり、修正を依頼したりします。 |
| 5.マージ | 問題がなければPRを承認し、mainブランチに「マージ」して変更を反映させます。 |
Pull Request の役割
コードレビュー:ほかの人が内容を確認できる。
議論の場:コメントや提案を通して、設計や実装方針を議論できる。
履歴管理:誰がどんな変更を提案し、どう承認されたかが残る。
Issuesとは
![]()
「課題・相談・タスク」を管理する掲示板のような機能です。
プログラムのバグ報告だけでなく、新機能の提案や「これってどうすればいい?」という議論まで、あらゆるトピックがここに集約されます。
いつ使うか:
バグを見つけたとき(Bug Report)
新しい機能を追加したいとき(Feature Request)
ToDoリストとしてタスクを整理したいとき
主な機能:
Labels(ラベル): 「バグ」「至急」などのタグ付け
Assignees(担当者): 誰が担当するかを割り当て
Milestones(マイルストーン): 締め切りや目標(バージョンなど)の設定
Pull Request と連携
「このPRがマージされたらIssueを自動的にクローズする」ことが可能。
(例:PRの本文にCloses #10と書くと、マージ時にIssue #10 が閉じる)
Actionsとは
GitHub上で、特定の操作(イベント)をきっかけに、自動で処理を実行してくれる機能のことです。
一般的にはCI/CD(継続的インテグレーション/継続的デプロイ)ツールとして使われます。
例えば、「コードをGitHubに保存(Push)した瞬間に、自動でテストを実行し、問題がなければそのままサーバーに公開する」といった一連の流れを自動化できます。
どういう時に使うのか?
手動で行うと面倒で忘れがちな作業を、すべて自動化できます。
| 自動テスト | コードを保存するたびに、プログラムが壊れていないかチェックする。 |
| 自動ビルド | 実行ファイル(.exeや.apkなど)を自動で作成する。 |
| 自動デプロイ | 修正したWebサイトを自動でサーバー(AWSやVercelなど)にアップロードする。 |
| 定時実行 | 毎日決まった時間にデータを集計したり、バックアップを取ったりする。 |
キーワード
| Workflow | 自動化の全体的な流れ(設定ファイル)。 |
| Event | 実行の「トリガー」。 |
| Job | 実行するタスクのグループ。 |
| Step | Jobの中の個別の作業。 |
| Runner | Jobが実際に動くサーバー。 |
関連の記事
