Git & GitHub やさしいガイド

エンジニアじゃなくても大丈夫。ゼロからわかる入門ガイド

図解つき

もくじ

← トップに戻る

Gitってなに?

Gitはファイルの変更履歴を記録する仕組みです。「いつ、誰が、何を変えたか」がすべて残るので、いつでも過去の状態に戻せます。

v1 最初の版 v2 文章を修正 v3 画像を追加 v4 今ここ! 4/1 4/3 4/5 4/8
変更のたびに「セーブポイント」が作られる。いつでも過去に戻れる。
ゲームのセーブデータに似ています。こまめにセーブしておけば、失敗しても安心してやり直せます。

GitHubってなに?

GitHubはGitの変更履歴をインターネット上で共有・管理できるサービスです。チームのメンバーと同じファイルを一緒に編集したり、変更内容をレビューしたりできます。

GitHub (クラウド) みんなの共有スペース Aさんの PC Git で管理 Bさんの PC Git で管理 Cさんの PC Git で管理 アップロード (push) ダウンロード (pull)
各自のPCの変更をGitHubに集約。最新の状態をいつでもダウンロードできる。

GitとGitHubの違い

よく混同されますが、まったく別のものです。

🛠️

Git

ファイルの変更履歴を
記録する道具

自分のPC上で動く
オフラインでも使える

🌐

GitHub

Gitの履歴をネット上で
共有するサービス

チームで共同作業
レビューや管理もできる

Gitが「ノート」なら、GitHubは「みんなで使える共有フォルダ」のようなものです。

基本のことば

まず覚えておきたい用語を4つだけ紹介します。

作業フォルダ ファイルを編集 add ステージ 記録する準備 commit ローカル リポジトリ 自分のPC内の履歴 push GitHub (リモート) 共有の履歴 自分のPC インターネット
ファイルの変更がGitHubに届くまでの流れ

リポジトリ (Repository)

プロジェクトのファイルと変更履歴をまとめて保存する場所。「1つのプロジェクト = 1つのリポジトリ」と覚えればOKです。

コミット (Commit)

変更を記録すること。ゲームでいう「セーブ」です。「何を変えたか」のメモをつけて保存します。

プッシュ (Push)

自分のPCの変更をGitHubにアップロードすること。これで他の人にも変更が共有されます。

プル (Pull)

GitHubから最新の変更をダウンロードすること。作業を始める前にプルして最新状態にしておくのが大事です。

基本の流れ

日常の作業は、この4ステップのくり返しです。

1 プル (Pull) 最新の状態を取得する 2 ファイルを編集 いつも通り作業する 3 コミット (Commit) 変更を記録する 4 プッシュ (Push) GitHubに共有する くりかえし この流れを毎日くり返すだけ! GitHub Desktop なら全部ボタン操作でできます

ブランチ (Branch) とは

ブランチは作業の「分岐」です。本流(メインブランチ)に影響を与えずに、別の作業を進められます。

main 新機能ブランチ 本流に影響なく開発できる 合流 (マージ)
ブランチで分岐して作業し、完成したらメインに合流する
例えるなら、本流の道路を通行止めにせず、仮設の側道で工事をするイメージです。工事が終わったら本流に合流します。

プルリクエスト (Pull Request)

プルリクエスト(PR)は、「この変更をメインに入れていいですか?」とチームに確認してもらう仕組みです。GitHubの最も大事な機能のひとつです。

ブランチで作業 変更をコミット & プッシュ PR を作成 GitHub 上でボタンひとつ レビュー チームがチェック マージ メインに反映! レビューでできること: 変更内容を見て確認する コメントで質問やアドバイスを書く 「OK!」と承認するか、修正をお願いする PRのおかげで、変更が直接メインに入ることなく、チームの目を通してから反映される
PRなしで直接メインブランチに変更を入れるのは避けましょう。間違いがあっても気づけなくなります。

GitHubの便利機能

GitHubにはGit以外にも、チームで仕事をするための機能がたくさんあります。

Issues (イシュー)

タスクやバグ報告を管理する掲示板のようなもの。「ここ直して」「この機能ほしい」を記録・共有できます。

Projects (プロジェクト)

タスクをカンバンボード形式で管理。「未着手」「進行中」「完了」のように状況が一目でわかります。

Actions (アクション)

プッシュやPR作成時に自動でテストやデプロイを実行。手動でやっていた作業を自動化できます。

Wiki / README

プロジェクトのドキュメントを書く場所。使い方やルールをまとめておけば、新しいメンバーもスムーズに合流できます。

はじめかた

コマンドを覚える必要はありません。GitHub Desktopというアプリを使えば、すべてボタン操作でできます。

  1. GitHubアカウントを作る
    github.com にアクセスして、メールアドレスで登録します。無料で使えます。
  2. GitHub Desktop をインストール
    desktop.github.com からダウンロードして、GitHubアカウントでログインします。
  3. リポジトリをクローン(コピー)する
    GitHub Desktop の「Clone a Repository」で、作業したいリポジトリを選びます。自分のPCにファイルがコピーされます。
  4. 準備完了!
    あとはいつも通りファイルを編集するだけ。変更は GitHub Desktop が自動で検知してくれます。

毎日の作業フロー (GitHub Desktop)

GitHub Desktop を使った具体的な手順です。

作業を始めるとき

  1. GitHub Desktop を開く
    上部メニューの「Fetch origin」ボタンを押して、最新の状態を取得します。
  2. ブランチを作る
    上部の「Current Branch」から「New Branch」を選び、作業内容がわかる名前をつけます。
    例: update-top-page fix-typo
  3. ファイルを編集する
    いつも通りファイルを編集します。変更はGitHub Desktopの左側に自動で表示されます。

変更を保存するとき

  1. 変更を確認する
    GitHub Desktop の左側に、変更されたファイルが一覧で表示されます。変更箇所が色分けで見えます。
  2. コミットする
    左下の「Summary」に変更内容を一言で書いて、「Commit」ボタンを押します。
    例: トップページのタイトルを変更
  3. プッシュする
    上部の「Push origin」ボタンを押します。これでGitHubに変更がアップロードされます。

チームに確認してもらうとき

  1. プルリクエストを作る
    プッシュ後に表示される「Create Pull Request」ボタンを押すと、ブラウザでGitHubが開きます。内容を書いて「Create」すればOK。
  2. レビューを待つ
    チームメンバーが確認してくれます。コメントがついたら修正して再度コミット&プッシュ。
  3. マージされたら完了!
    レビューが通ったら、マージされてメインに反映されます。

困ったときは

「コンフリクト」と言われた

自分と他の人が同じ場所を同時に変更してしまった場合に起きます。GitHub Desktop が該当箇所を教えてくれるので、どちらの変更を採用するか選びましょう。

わからなければ、変更した本人に聞くのが一番確実です。

間違えてコミットしてしまった

GitHub Desktop のメニュー「Repository」から「Undo Last Commit」を選べば、直前のコミットを取り消せます。まだプッシュしていなければ安全にやり直せます。

どのブランチにいるかわからない

GitHub Desktop の上部に現在のブランチ名が表示されています。メインブランチ(main)で直接作業しないように注意しましょう。

プッシュできない

他の人が先に変更をプッシュしていると起きることがあります。まず「Fetch」→「Pull」で最新を取得してから再度プッシュしてみてください。

それでもダメなら、無理せず詳しい人に相談しましょう。

困ったときの鉄則: 変更をプッシュしていなければ、大抵のことはやり直せます。焦って操作する前に、一度手を止めて相談しましょう。

用語集

リポジトリ (Repository) — プロジェクトのファイルと履歴を保存する場所

クローン (Clone) — リポジトリを自分のPCにコピーすること

ブランチ (Branch) — 作業の分岐。メインに影響なく変更できる

コミット (Commit) — 変更を記録すること。セーブポイント

プッシュ (Push) — 自分の変更をGitHubにアップロードすること

プル (Pull) — GitHubから最新の変更をダウンロードすること

フェッチ (Fetch) — GitHubに新しい変更があるか確認すること(まだ取り込まない)

マージ (Merge) — ブランチの変更をメインに合流させること

プルリクエスト (Pull Request / PR) — 変更をレビューしてもらうための依頼

コンフリクト (Conflict) — 同じ箇所を別々に変更してしまい、自動で合流できない状態

メインブランチ (main) — 本番の状態を表すブランチ。ここには直接変更を入れない

Issue (イシュー) — タスクやバグを記録・管理する掲示板