GitHub / 図解入門
GITHUB / BEGINNER’S VISUAL GUIDE

図解でつながる、GitHubの基本

ブランチで分けて試す。PRで変更を見せる。
マージで本流に取り込む。

2026年10月2日 調査コマンド暗記より、作業の意味PC・スマホ対応

まず分けたいのは「保存・共有・提案・採用」。
この4つが別の操作だと分かると、GitHubの画面とAIの報告が読みやすくなる。

採用済みの本流作業中の変更提案・確認
mainから作業を分け、PRで確認し、マージで戻す上段がmain、下段が検索機能の作業ブランチ。丸はコミット。PRとレビューは作業の確認で、上段が更新されるのは最後のマージ時。 main採用済みの本流 ① ブランチを作る② 編集 → コミット 作業ブランチ:add-search ③ PR + レビュー採用する変更を確かめる ④ マージ この変更は、まだmainに入っていないここで本流へ反映 ● はコミット(履歴の区切り)。PRはコミットではなく、変更を提案して確認する場。
図は横にスクロールできます。
作業ブランチからmainへ取り込む場合の概念図。Push/Pullの「保存場所の違い」は次章で分けて説明する。[5][6][8]
Branch本流と別の作業の流れ

試している間、その変更でmainの履歴を進めずに済む。

Pull Request / PR「この変更を取り込みたい」

差分・理由・確認結果をまとめる提案のページ。

Merge変更を実際に取り込む

PRを作るだけ、承認するだけでは、この操作は終わっていない。

本図はマージコミットを残す形を簡略化。実際の履歴の見え方は、マージ方法によって異なる。mainが常に正常に動くことをGitが保証するわけではない。

01

GitとGitHub。まず「場所」を分ける

Gitは、変更履歴を扱う仕組み。GitHubは、その履歴を共有し、変更を相談するサービス。 リポジトリは、ひとまとまりのファイルと履歴を管理する単位。「このアプリの作業一式」と考えると入りやすい。[4][6]

LOCAL / 手元

自分のPC

Codexやエディターで編集する。

Gitで変更を履歴に残す。

編集・Commit
共有へ→Push
REMOTE / 共有

GitHub

コードと履歴を置く。

PRで確認し、mainへ取り込む。

PR・Merge
配信へ→Deploy
PRODUCTION / 公開先

公開サイト

利用者が実際に開くアプリ。

Cloudflareなどで配信する。

公開・動作確認

上図は「手元で開発し、GitHubを経由してサイトを公開する」構成例。GitHubだけでも編集でき、すべてのリポジトリがサイト公開につながるわけではない。[4][14]

Commitしても、まだPCの中

手元でのコミットは、そのPCのGit履歴への記録。GitHubへ送るPushとは別。保存されていることと、他の端末から読めることを分ける。[7][11]

GitHubにあっても、公開中とは限らない

サイトを公開するDeploy(デプロイ)は別の処理。自動連携を設定していれば続けて動くが、マージとデプロイは同じ操作ではない。[14]

「できた」と言われたら、どこまで?
手元で完成 / GitHubに送信済み / mainへ取り込み済み / 公開先で動作確認済み。これらは別の状態。

02

ブランチは「別案」。コミットは「区切り」

たとえば、動いているダッシュボードに検索を追加したい。いきなり採用済みの版を直す代わりに、mainからadd-searchという作業ブランチを作る。そこで検索を試し、良ければあとで取り込む。[4][5]

main
この説明では「採用済みの本流」として扱うブランチ。特別に壊れなくなる名前ではなく、運用上の役割。
ブランチ
同じプロジェクトに、別の変更の流れを持たせるもの。新しいリポジトリを毎回作るわけではない。
コミット
「検索欄を追加」「絞り込み処理を追加」のように、選んだ変更を履歴の区切りとして残す操作。

ブランチは厳密には、特定のコミットを指す軽い参照。通常はブランチを切り替えると、同じ作業フォルダー内の管理対象ファイルがその版に切り替わる。コミット前の変更はブランチに完全に隔離されたとは限らない。[6][7]

「別の場所」まで作る必要はある?

1つずつ作業するなら、まずは同じフォルダーでブランチを切り替える理解で十分。AIに複数の仕事を並行させる場合には、worktree(ワークツリー)などで作業フォルダーも分ける方法がある。ブランチが「履歴の分かれ道」、worktreeが「実際の作業場所」の違い。[6][19]

分ける単位は、人ではなく「ひとまとまりの変更」。
検索追加と文字色修正を分けておけば、検索が未完成でも文字色だけ先に採用できる。これは作業を分ける利点の一例。

ブランチ名は説明のための例。feature/add-searchのように付けてもよい。分けることで守れるのは主にGitで管理する変更履歴であり、本番データベースや外部サービスまで自動的に分離されるわけではない。

03

保存・Commit・Push・PR・Mergeは別

次は、add-searchで作った検索機能が、どこまで届いたかを見る。同じ「変更」でも、操作ごとに届く場所が違う。[7][8][11][14]

押して確認:検索機能は、いまどこにある?架空の手順。実際のGitHubは操作しません。

作業前:まだ検索機能はない

mainから作業ブランチを作って、これから変更を始める。

PC:作業ファイル
検索なし
これから編集
GitHub:作業ブランチ
変更は未送信
PCの作業とは別
GitHub:main
検索なし
採用済みの元の版
公開サイト
検索なし
利用者には元の版
終えた操作何が変わった?履歴に記録GitHubにあるmainに採用
ファイル保存作業ファイルを書き換えたまだまだまだ
Commit選んだ変更を手元の履歴へ済みまだまだ
Push作業ブランチをGitHubへ送信済み済みまだ
PRを作成mainへの取り込みを提案済み済みまだ
Merge変更をmainへ取り込んだ済み済み済み

手元の作業ブランチからGitHubのmainへPRを出すケース。mainに直接Pushする場合や、GitHubのブラウザー上で編集する場合は経路が異なる。[4][11][9]

PRは「ファイルを送る操作」ではない。
ファイル・履歴を送るのはPush。PRは、すでにGitHub側にある変更について「この方向に取り込みたい」と提案するもの。

04

PRは「変更提案書+確認の場」

Pull Request(プルリクエスト)は、あるブランチの変更を、別のブランチへ取り込む提案。PR、プルリクとも呼ぶ。変更の理由、実際の差分、確認結果、やり取りを一緒に残せる。[8]

理解用の簡略画面 / 実在のPRではありません
ダッシュボードに検索欄を追加 #18
Open
base: main←compare: add-search左が取り込み先、右が変更元

なぜ変えたか。何を確認したか。

目的:タイトルでレポートを探せるようにする。
変更:検索欄と絞り込み処理を追加。
確認:PCとスマホで検索・解除を試した。
対象外:カードのデザインと並び順は変えていない。

ここにレビューの質問や修正の相談が残る。説明だけで正しさが保証されるわけではない。

Merge pull request実際に取り込むのは、この段階。上のタブだけ操作できます。

GitHubのUIを説明のために簡略化したもの。ラベルや配置は表示環境により変わる。PRの向きとレビューの意味は公式資料で確認。[9][10][5][4]

状態の読み方

Draft下書き。完成前の相談にも使う。
Open開いている提案。取り込み済みとは限らない。
Merged取り込み済み。PRも閉じられる。
ClosedMergedでなく閉じた提案は、そのPRでは未採用。

承認とマージも別

Approveは「この変更でよい」というレビュー。Mergeは変更を取り込む操作。レビューで承認されても、その場でmainが更新されるとは限らない。[10][8]

ひとり開発なら、自分でPRを作り、自分で内容を確認してマージできる。必ず別の人へ依頼しなければならないわけではない。ただし、リポジトリの保護ルールがある場合はその条件に従う。[4][5]

05

1回の作業を、最初から最後まで

例は「ダッシュボードに検索を追加する」。以下はPRを使う進め方の一例。小さな変更も必ずすべてPRにしなければならない、という意味ではない。[5][4]

  1. 最新を受け取る未保存・未コミットの作業を確認してから、手元のmainへGitHub側の更新を取り込む。
  2. ブランチを作るadd-searchを作って切り替える。「検索の変更はこの枝で行う」と分ける。
  3. 編集・動作確認検索を作って試す。区切りごとに、対象の変更を選んでCommitする。
  4. Pushする作業ブランチをGitHubへ送る。この段階でもmainへの取り込みは別。
  5. PRを作るadd-search → mainを提案。何を変え、何を確認したかを書く。
  6. レビューする差分・チェック結果・実際の画面を確認。必要な修正は同じ枝へCommit・Pushする。
  7. マージするよければGitHub側のmainへ取り込む。不要になった作業ブランチは整理できる。
  8. 公開・同期を確認公開する案件ならデプロイ結果と公開先を確認。次の作業は手元のmainも更新してから始める。

ブランチ削除で、取り込み済みの機能まで消えるわけではない。PRと取り込み後の履歴は残る。公開処理はGitHubフローそのものとは別の連携。[5][11][14]

PushとPullは「行き」と「帰り」

PCとGitHubは別の保存場所会社PCからプッシュしてGitHubへ送る。自宅PCはプルで受け取る。GitHub上のmainをマージしても各PCが自動的に同じになるわけではない。 会社PC手元のコミットまだ送っていない変更もある GitHub共有する履歴・main・PR共通の受け渡し場所 自宅PC受け取ったところまでPullするまでは古いことがある PushPull 同じ「main」という名前でも、GitHubと各PCにはそれぞれの状態がある。
図は横にスクロールできます。
会社PCと自宅PCの往復の例。GitHubでマージしたあと、各PCを更新する操作が必要になる。[11][20]

Fetch:更新を取ってきて調べる

GitHub側の新しい履歴を手元へ取得する。それだけでは、作業中のブランチへ統合しない。[21]

Pull:取ってきて、取り込む

更新を取得し、現在のブランチへ統合する。単に「ダウンロードだけ」ではなく、合流が起こり得る操作。[20]

PullとPull Requestは、名前が似ているだけで別物。
Pull=自分側へ更新を取り込む。Pull Request=相手側のブランチに「この変更を取り込んで」と提案する。

06

コンフリクトは「どちらにするか決めて」

Gitは、異なる場所への変更なら自動的に統合できることが多い。一方、同じ行を別々に変更した場合や、片方が削除したファイルをもう片方が編集した場合などには、コンフリクト(競合)が起こる。[12]

例:もともと同じ行に 表示件数 = 10 と書いてあった。

Aの変更

PCで多く見せたい

表示件数 = 20

この変更を先にmainへ取り込んだ。

Bの変更

さらに多く見せたい

表示件数 = 30

元の10件の状態から別に変更していた。

20件? 30件? 条件によって切り替える?
Gitだけでは決められないので、統合する内容を決める必要がある。

この場合、新しい方を自動採用すれば正しい、とは限らない。「何を実現したいか」を確認し、最終的な内容を決めてから統合する。AIに直す作業を頼む場合も、採用したい仕様まで曖昧にしない。[12]

競合なし ≠ 動作も問題なし。
別々の行なので合流できても、片方が変えた仕様をもう片方が知らず、組み合わせると壊れることはある。だからマージできるかの確認と、動作確認は別に考える。

07

IssueとPRは、依頼と成果の違い

Issue(イシュー)は「何をしたいか・何に困っているか」。PRは「こう変えたので取り込みたい」。 Issueは、要望・不具合・作業の計画や議論に使える。コードの変更そのものではない。[13][8]

ISSUE / 課題・相談

#12 検索できるようにしたい

レポートが増えて探しにくい。
タイトルで絞り込める検索欄が欲しい。

やりたいこと、完成条件、相談を残す。

→
PULL REQUEST / 変更提案

#18 検索欄を追加した

検索欄と絞り込み処理を追加。
関連Issueは #12。差分と確認結果はこちら。

作った変更と、その確認内容を見せる。

番号は説明用。通常はリポジトリ内の番号なので、他のリポジトリの「#12」と同じ案件ではない。IssueとPRは必ず1対1である必要はない。[13]

ChatGPTで相談 → Codexで実装、に当てはめると

相談で決めた内容をIssueに残す → 作業ブランチで実装 → PRで成果を確認 → マージ。 この流れにすると、「頼んだ内容」と「実際に入れようとしている変更」を分けて確認できる。これは本ガイドでの運用例であり、Issueを作っただけで自動的にAIが動く、という意味ではない。

08

普段の操作と、言葉を結びつける

GitHub Desktopで見る場所

画面の言葉まずこう読む
Current Repositoryいま、どのプロジェクトを扱っている?
Current Branchmainなのか、作業ブランチなのか?
Changesまだコミットしていない変更。対象ファイルと差分を確認する。
Commit to …選んだ変更を、そのブランチの手元の履歴に記録する。
Push origin / Publish branchGitHub側へ送る。初回のブランチ公開では表記が変わることがある。
Fetch origin → Pull originGitHub側の更新を調べ、選んだ手元のブランチへ取り込む。

originは接続先リポジトリに付く一般的な名前。この構成ではGitHub側を指す。ボタンの表示は状態・バージョンによって変わる。[11][18]

Codexへ頼むなら、作業の終点を明確にする

操作を自分で打つ代わりに頼んでも、どのリポジトリ・どのブランチを・どこまで変えるかは同じ。次はPRで確認してから採用する場合の指示例。接続・認証・権限など、実際に操作できる環境が前提。

作業ブランチ → PRまで
このリポジトリの最新mainから、検索追加用のブランチを作って。
検索欄を追加し、差分と動作を確認して、コミット・Push・main宛てのPR作成まで進めて。
既存の未コミット変更や無関係なファイルは巻き込まないで。
マージはせず、PRのURL・変更内容・確認結果を報告して。
いまの状態を知りたいとき
変更せず、現在のリポジトリとブランチ、未コミット変更、未Pushのコミット、関連PRの状態、mainへの反映状況を確認して。
公開連携がある場合は、最後のデプロイ結果も分けて報告して。

この例の「マージしない」は、PR確認用の停止位置を示すためのもの。既存のプロジェクトでmainへ直接Pushする運用を採用しているなら、その方針を勝手に置き換える必要はない。

画面で一度試すなら、公式のHello World

GitHub公式の練習は、ブラウザー上でREADMEを変えてPR・マージまで進む内容。プログラムを書く必要も、Gitのコマンドを入力する必要もない。自分の本番アプリではなく、練習用リポジトリで流れを確かめる用途に向いている。[4]

09

引っかかりやすい点だけ補足

ひとり開発でもブランチやPRは必要?

GitHubを使ううえで必須ではない。変更を分けて試したい、採用前に差分を確認したいときに役立つ。ひとりでも「変更する自分」と「採用を判断する自分」を分ける使い方ができる。[4][5]

mainに直接Pushしたらどうなる?

その更新が許可されていれば、PRを経由せずGitHub側のmainが更新される。本番の自動デプロイがそのmainに連携していると、公開処理も始まり得る。「今回はPRで止めるのか、mainへ反映まで進めるのか」を区別する。[11][14]

ブランチを消すと、採用した機能も消える?

マージ済みなら、取り込んだ変更はmain側に残る。作業ブランチを削除するのは、不要になった作業用の目印を片づけるイメージ。まだ採用していない枝を削除する場合とは分けて考える。[5][6]

GitHub上で編集したら、Pushはいらない?

ブラウザーの編集画面でコミットする場合は、最初からGitHub側に記録している。手元で編集してPushする手順とは経路が違う。自分のPCでも使うなら、そのPCへ更新を取り込む操作が必要になる。[4][11]

間違えた変更は、必ず全部元に戻せる?

コミットに記録したファイルの変更なら、過去の版を参照したり、Revertで変更を打ち消すコミットを作ったりできる。ただし、未記録の作業や外部データベースの書き換えまで自動で戻るわけではない。共有後の履歴を消して戻す操作と、履歴を残して打ち消す操作は別。[16][7]

Privateにしておけば、秘密情報を入れてよい?

公開範囲の制限と、秘密情報を履歴に残さないことは別。APIキーやパスワードはコミット対象にしない。漏えいした場合はファイルを消すだけでは足りず、該当の認証情報の失効・交換が必要。[17]

Privateのリポジトリなら、公開サイトも非公開?

別設定。コードをPrivateにしていても、配信先やプレビューURLが一般から開ける構成はある。Cloudflare Pagesのプレビューは、必要ならアクセス制限を別に設定する。[15]

develop・release・hotfixも覚えるべき?

まずはmainと作業ブランチの関係で十分。ほかの名前が出てきても、ブランチである点は同じ。名前に特別な保護機能があるわけではなく、チームが開発用・公開準備用・緊急修正用などの役割を割り当てている。戻し先や運用ルールはプロジェクトごとに確認する。[6][5]

最後に、3つだけ確認

Commitした。別のPCでも見える?

Commitだけでは共有されない。 手元で作ったコミットなら、GitHubへのPushと別PC側での取得が必要。

PRを作った。mainに入った?

まだ。 変更を提案した段階。マージは別の操作。

GitHubでマージした。手元も最新?

自動的には変わらない。 自分のPC側でも更新を取り込む。

ブランチで分ける → コミットで残す → Pushで送る。
PRで確認する → マージで取り込む → Pullで受け取る。

公開するアプリなら、この流れにデプロイと公開先の確認が加わる。

10

見つかった動画・関連まとめと出典

該当しそうなのは、安野貴博さんの「バイブコーディング超入門講座」第5回と第6回。 ユーザーが見た動画のURLは未指定なので、この2本を有力候補として整理した。[1][2]

動画 / 概念を理解する

第5回:初心者向けGit & GitHub解説 ↗

説明欄の目次には、01:46「GitとGitHubの違い」、03:03「まず覚える5操作」、10:10「注意点コンフリクト」がある。

用語の全体像を振り返る入口。

動画 / 操作と結びつける

第6回:Claude Codeで使うGit & GitHub ↗

「GitやGitHubはもう怖くない!?」の実演回。第5回と合わせて紹介されている。

操作画面とのつながりを見たいときの候補。

直接関連する文章 / 2026.06.25

大田原正幸:Git/GitHub 超入門 ↗

第5回を入口に、専門知識がない人向けに再構成したと明記。第6回も参照し、Claude Code・Codexで概念を理解して使う考え方を紹介している。

「その動画に近いまとめ」という依頼に、最も直接合う検索結果。

公式の練習 / コマンド不要

GitHub Docs:Hello World ↗

READMEを編集し、ブランチ・コミット・PR・マージまでブラウザーで進める。

動画で理解したことを、自分の操作でつなげる練習先。

今回のまとめの軸
用語だけを暗記するのではなく、「何のためにその操作を挟むのか」を1つの例でつなぐ。省略すると混ざりやすいマージを独立させ、保存場所と公開状況を分けた。

調査範囲:動画の公開タイトル・説明欄と、動画を参照する関連記事を確認。動画全編の映像・字幕を直接検証した逐語要約ではない。感想の多数派や評判の広さまでは確認していない。関連記事の説明をそのまま正解とはせず、Git/GitHub/Cloudflareの仕様は以下の一次資料で照合した。本文の図・画面例・操作例はこのガイド用に作成したもの。

本文の根拠

  1. 01
    安野貴博の自由研究|バイブコーディング超入門講座 第5回 ↗

    初心者向けGit & GitHub解説。動画の特定と説明欄の目次を参照。

  2. 02
  3. 03
    大田原正幸|Git/GitHub 超入門(2026年6月25日) ↗

    第5・6回を参考にして再構成した、直接関連する入門記事。

  4. 04
    GitHub Docs|Hello World ↗

    ブラウザーだけで、ブランチ・コミット・PR・マージを練習する公式入門。

  5. 05
    GitHub Docs|GitHub フロー ↗

    作業ブランチ、変更、PR、レビュー、マージ、ブランチ削除の基本的な流れ。

  6. 06
    Pro Git|Branches in a Nutshell ↗

    ブランチはコミットを指す参照。枝分かれと作業フォルダーの切り替わり。

  7. 07
    Git|git-commit ↗

    コミットは選択した内容の状態を履歴に記録する操作。

  8. 08
    GitHub Docs|Pull requests ↗

    変更提案・差分・議論の場としてのPR。

  9. 09
    GitHub Docs|Creating a pull request ↗

    取り込み先baseと変更元compareの区別。

  10. 10
    GitHub Docs|Pull request reviews ↗

    コメント、承認、変更要求と、レビューの意味。

  11. 11
    GitHub Docs|Syncing your branch in GitHub Desktop ↗

    Fetch origin、Pull origin、Push originと同期。

  12. 12
    GitHub Docs|Merge conflicts ↗

    自動的に統合できない競合と、内容を決める必要性。

  13. 13
    GitHub Docs|About issues ↗

    要望・不具合・タスクを議論し追跡するIssue。

  14. 14
    Cloudflare Pages|Git integration ↗

    GitHubの更新と、ビルド・デプロイの連携。自動デプロイは無効化も可能。

  15. 15
    Cloudflare Pages|Preview deployments ↗

    本番とは別の確認用URL。リポジトリの非公開設定とは別に扱う。

  16. 16
    Git|git-revert ↗

    過去の変更を打ち消す新しいコミットを作る。

  17. 17
    GitHub Docs|Removing sensitive data from a repository ↗

    秘密情報の漏えい時は、ファイル削除だけでなく認証情報の失効・交換が必要。

  18. 18
    GitHub Docs|Committing and reviewing changes in GitHub Desktop ↗

    差分を確認し、コミットする対象を選ぶGUI操作。

  19. 19
    OpenAI|Introducing the Codex app ↗

    AIによる開発と、別の作業場所を使うworktreeの説明。

  20. 20
    Git|git-pull ↗

    リモートの更新を取得し、現在のブランチへ統合する。

  21. 21
    Git|git-fetch ↗

    リモートの履歴を取得する。作業ブランチへの統合とは別の処理。