1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

📖 目次

  1. はじめに
  2. GitとGitHubって何が違うの?
  3. 必須用語を理解しよう
  4. 基本コマンドを覚えよう
  5. ブランチを使いこなそう
  6. チーム開発の流れ(プルリクエスト)
  7. よくあるトラブルと対処法
  8. チートシート(コマンド一覧)

0. はじめに

このドキュメントの使い方

  • 初学者の方 → 1章から順番に読んでください
  • コマンドだけ確認したい方 → 7章のチートシートへ
  • 用語がわからなくなったら → 2章の用語集に戻ってください

前提条件

  • Gitがインストールされている
  • GitHubのアカウントを作成済み
  • ターミナル(コマンドプロンプト)が開ける

参考サイト

サイト URL
サル先生のGit入門(Backlog) https://backlog.com/ja/git-tutorial/
GitHub公式ドキュメント(日本語) https://docs.github.com/ja
カゴヤのサーバー研究室 https://www.kagoya.jp/howto/it-glossary/develop/howtousegithub/
侍エンジニアブログ https://www.sejuku.net/blog/258375

1. GitとGitHubって何が違うの?

Git とは

Gitはバージョン管理ツールです。自分のPC上で動きます。

  • ファイルの変更履歴を記録できる
  • 過去の状態に戻せる
  • 複数人が同時に作業しても上書きを防げる

💡 イメージ:Gitは「ゲームのセーブ機能」。いつでも好きなセーブポイントに戻れる。

GitHub とは

GitHubはGitをクラウド上で管理できるサービスです。

  • コードをオンライン上で保管・共有できる
  • チームメンバーと共同開発できる
  • コードレビューや変更履歴の確認ができる

💡 イメージ:GitHubは「DropboxのエンジニアのCode特化版」。みんなで同じコードを管理する場所。

関係性まとめ

自分のPC(ローカル)         GitHub(リモート)
┌─────────────────┐         ┌────────────────┐
│                 │  push → │                │
│   Gitで管理     │         │  みんなで共有   │
│   するコード     │ ← pull  │  するコード     │
│                 │         │                │
└─────────────────┘         └────────────────┘

2. 必須用語を理解しよう

リポジトリ(Repository)

コードや変更履歴をまとめて保管する「プロジェクトの箱」のこと。

種類 場所 説明
ローカルリポジトリ 自分のPC 自分だけが作業する場所
リモートリポジトリ GitHub上 チーム全員が共有する場所

コミット(Commit)

変更内容を記録する「セーブポイント」のこと。

  • コミットするたびに履歴が積み重なっていく
  • メッセージを書くことで「何を変えたか」がわかる
最初 → コミット① → コミット② → コミット③(現在)
       「ログイン機能追加」 「バグ修正」  「デザイン変更」

ブランチ(Branch)

作業を「枝分かれ」させる機能。

  • main(またはmaster)が本流
  • 新機能を作るときは別のブランチで作業する
  • 完成したらmainに合流(マージ)させる
main ────●────────────────────●──── (本流)
          \                  /
feature    ●──●──●──●──●──● (新機能ブランチ)

💡 なぜブランチを使うの?
mainに直接変更すると、バグがあったときに全員に影響が出てしまうから。
ブランチで作業することで、安全に開発できる。


リモートブランチ(Remote Branch)

GitHub上(リモート)にあるブランチのこと。

  • origin/main → GitHub上のmainブランチ
  • origin/feature → GitHub上のfeatureブランチ

originはリモートリポジトリのあだ名(デフォルト名)


マージ(Merge)

ブランチを別のブランチに統合すること。

main ────●─────────────────────●──── ← featureブランチがここに合流
          \                   /
feature    ●──●──●──●──●──●

プルリクエスト(Pull Request / PR)

「このブランチの変更をmainに取り込んでください!」と申請する機能。
GitHub上で行い、コードレビューの場にもなる。


用語まとめ表

用語 説明 イメージ
リポジトリ コードの保管場所 プロジェクトフォルダ
ローカル 自分のPC上 自分の作業机
リモート GitHub上 共有の倉庫
コミット 変更の記録 ゲームのセーブ
ブランチ 作業の分岐 並行作業ライン
リモートブランチ GitHub上のブランチ 倉庫の中の棚
マージ ブランチの統合 合流・合体
origin リモートのあだ名 倉庫の住所
プルリクエスト マージの申請 コードレビュー申請
クローン リモートをローカルにコピー 倉庫から手元にコピー

3. 基本コマンドを覚えよう

3-1. 最初の一歩

git init - 新しいリポジトリを作る

git init
  • フォルダをGitで管理できる状態にする
  • 既存プロジェクトをGitで管理し始めるときに使う

git clone - リモートをローカルにコピーする

git clone https://github.com/ユーザー名/リポジトリ名.git
  • GitHubにあるリポジトリを自分のPCにコピーする
  • チームの開発に参加するときの最初のステップ

3-2. 変更を記録する(add → commit の流れ)

作業する → git add → git commit
(変更)   (準備)   (記録)

git add - コミットの準備をする(ステージング)

# 特定のファイルをステージング
git add ファイル名

# 全ての変更をステージング
git add .

💡 イメージ:コミットする前の「荷物の仕分け作業」。
「このファイルはコミットする、あのファイルはまだしない」という選別ができる。


git commit - 変更を記録する

git commit -m "コミットメッセージ"
  • m の後にメッセージを書く(何を変えたか、なぜ変えたか)

良いコミットメッセージの例:

✅ feat: ログイン機能を追加
✅ fix: パスワードのバリデーションバグを修正
✅ docs: READMEを更新

❌ 修正した
❌ update
❌ aaa

3-3. リモートとやり取りする

git push - ローカル → リモートに送る

# 基本形
git push origin ブランチ名

# 例:mainブランチをpush
git push origin main

# 例:featureブランチをpush
git push origin feature/login

💡 イメージ:手元の荷物を倉庫(GitHub)に送る作業。


git fetch - リモートの情報だけ取得する(まだ反映しない)

git fetch origin
  • GitHubの最新情報を取得するが、ローカルのファイルは変わらない
  • 「どんな変更があったか確認だけしたい」ときに使う

💡 イメージ:「荷物が届いたか確認するだけ」。荷物は倉庫に置いたまま。


git pull - リモートの変更をローカルに取り込む

# 基本形
git pull origin ブランチ名

# 例:mainの最新をローカルに反映
git pull origin main

💡 イメージ:「届いた荷物を確認して、そのまま部屋に持ち込む」。


⚠️ fetchとpullの違い(重要!)

コマンド リモートの情報取得 ローカルへの反映
git fetch ✅ する ❌ しない(自分で確認してからマージ)
git pull ✅ する ✅ する(fetch + merge を同時にやる)
# git pull は以下の2つを同時にやっているのと同じ
git fetch origin
git merge origin/main

fetchを使うシーン:

  • 「チームメンバーが何を変えたか確認してから取り込みたい」
  • 競合(コンフリクト)が起きそうなとき

pullを使うシーン:

  • 「すぐ最新状態にしたい」
  • 毎朝作業開始前に最新を取り込む

3-4. 状態を確認する

git status - 現在の状態を確認する

git status
  • どのファイルが変更されているか
  • どのファイルがステージング済みか が分かる

git log - コミット履歴を確認する

# 詳細な履歴
git log

# 1行で見やすく表示
git log --oneline

# グラフ付きで表示(ブランチの分岐が見える)
git log --oneline --graph --all

git diff - 変更内容を確認する

# ステージング前の変更を確認
git diff

# ステージング後の変更を確認
git diff --staged

4. ブランチを使いこなそう

4-1. ブランチの確認

# ローカルのブランチ一覧
git branch

# リモートを含む全ブランチ一覧
git branch -a

# 現在のブランチは「*」がついている
# * main
#   feature/login
#   remotes/origin/main

4-2. ブランチを作る・切り替える

# ブランチを作成する
git branch ブランチ名

# ブランチを切り替える(新しい方法)
git switch ブランチ名

# ブランチを切り替える(古い方法 / よく見かける)
git checkout ブランチ名

# ブランチを作成して同時に切り替える(一番よく使う!)
git switch -c ブランチ名
git checkout -b ブランチ名  # 古い書き方

ブランチ名の命名例:

feature/login          → ログイン機能追加
feature/user-profile   → ユーザープロフィール機能
fix/login-bug          → ログインのバグ修正
docs/readme-update     → ドキュメント更新

4-3. リモートブランチとやり取りする

# ローカルのブランチをリモートに送る(初回)
git push origin ブランチ名

# リモートのブランチをローカルに取得して切り替える
git switch -c ブランチ名 origin/ブランチ名

4-4. マージする

# mainブランチに移動してから
git switch main

# featureブランチをmainに統合
git merge feature/login

5. チーム開発の流れ(プルリクエスト)

開発の標準フロー

① mainを最新にする
   git pull origin main

② 作業ブランチを作る
   git switch -c feature/新機能名

③ コードを書く
   (開発作業)

④ 変更をステージングしてコミット
   git add .
   git commit -m "feat: ○○機能を追加"

⑤ リモートにpush
   git push origin feature/新機能名

⑥ GitHubでプルリクエストを作成
   → GitHub上でボタンを押してPRを作る

⑦ チームメンバーにレビューしてもらう
   → コメント・修正対応

⑧ mainにマージ(GitHub上で行う)

⑨ ローカルのmainを最新にする
   git switch main
   git pull origin main

⑩ 使い終わったブランチを削除(任意)
   git branch -d feature/新機能名

プルリクエストの書き方

タイトル:

feat: ログイン機能を追加
fix: パスワードリセットのバグを修正

本文に書くと良いこと:

  • 何をしたか(概要)
  • なぜしたか(背景・理由)
  • どうテストしたか
  • レビュアーに見てほしいポイント

6. よくあるトラブルと対処法

⚠️ コンフリクト(競合)が起きた

原因: 同じファイルの同じ行を複数人が変更したとき

対処法:

# pullしたらコンフリクトが発生した場合
git pull origin main

# コンフリクトしたファイルを開くと以下のような表示になる
<<<<<<< HEAD
自分の変更内容
=======
相手の変更内容
>>>>>>> origin/main

# ↑の記号を全部消して、正しい内容に書き直す
# 書き直したら再度 add → commit
git add .
git commit -m "fix: コンフリクトを解消"

⚠️ pushが弾かれた

エラーメッセージ:

! [rejected] main -> main (fetch first)

原因: リモートに自分が知らない新しいコミットがある

対処法:

# まずpullして最新を取り込む
git pull origin main

# コンフリクトがなければそのままpushできる
git push origin main

⚠️ コミットメッセージを間違えた(直前のコミットのみ)

git commit --amend -m "正しいメッセージ"

⚠️ すでにpushしたコミットに使うと問題が起きることがあるので注意!


⚠️ addしたファイルを取り消したい(コミット前)

# 特定ファイルのステージングを取り消す
git restore --staged ファイル名

# 全てのステージングを取り消す
git restore --staged .

⚠️ 直前のコミットを取り消したい(pushする前)

# コミットだけ取り消す(変更内容はそのまま残る)
git reset --soft HEAD~1

# コミットも変更も全部取り消す(注意!)
git reset --hard HEAD~1

7. チートシート(コマンド一覧)

基本操作

コマンド 説明
git init リポジトリを新規作成
git clone <URL> リモートをローカルにコピー
git status 現在の状態を確認
git log --oneline コミット履歴を確認(簡易)
git diff 変更内容を確認

変更を記録する

コマンド 説明
git add . 全変更をステージング
git add <ファイル名> 特定ファイルをステージング
git commit -m "メッセージ" コミット(記録)
git commit --amend -m "メッセージ" 直前のコミットメッセージを修正

リモートとやり取り

コマンド 説明
git push origin <ブランチ名> ローカル → リモートに送る
git pull origin <ブランチ名> リモートの変更を取り込む
git fetch origin リモートの情報だけ取得(反映しない)

ブランチ操作

コマンド 説明
git branch ローカルのブランチ一覧
git branch -a 全ブランチ一覧(リモート含む)
git switch <ブランチ名> ブランチを切り替え
git switch -c <ブランチ名> ブランチを作成して切り替え
git merge <ブランチ名> ブランチをマージ
git branch -d <ブランチ名> ブランチを削除(マージ済みのみ)

取り消し系

コマンド 説明
git restore --staged <ファイル名> ステージングを取り消す
git restore <ファイル名> 変更を取り消す(⚠️元に戻せない)
git reset --soft HEAD~1 直前のコミットを取り消す(変更は残る)
git reset --hard HEAD~1 直前のコミットと変更を全て取り消す(⚠️危険)

📝 まとめ:最低限覚えるべきコマンド(5つ)

  1. git add . → ステージング
  2. git commit -m "メッセージ" → 記録
  3. git push origin ブランチ名 → リモートに送る
  4. git pull origin main → 最新を取り込む
  5. git switch -c ブランチ名 → ブランチ作成・切り替え
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?