Gitコマンド一覧|よく使う基本〜応用コマンドを初心者向けに早見表で解説

Git

Gitコマンド一覧|よく使う基本〜応用コマンドを初心者向けに早見表で解説

「git コマンド 一覧を手元に置いて、必要なときにすぐ確認したい」と思ったことはありませんか。Gitには多くのサブコマンドがありますが、日常業務でよく使うものは20個程度です。

この記事では、初心者がつまずきやすいcommitまでの流れ、branch操作、変更の取り消しを中心に、主要コマンドとオプションの使い方を早見表付きで解説します。Git 2.23以降に推奨されている git switch と git restore の違いも整理しているため、逆引き辞典としても活用できます。

Gitコマンド一覧の前に押さえたい仕組みと初期設定

ワークツリー・ステージング・リポジトリの3段階

Gitの変更は、次の3段階を順に移動します。

  1. ワークツリー:実際にファイルを編集する場所
  2. ステージングエリア:git add で「次に記録する変更」を登録する場所
  3. リポジトリ:git commit で変更履歴を確定させる場所

さらに、GitHubなどのサーバー上にあるものをリモートリポジトリ、手元のものをローカルリポジトリと呼びます。「今どの段階にあるか」を意識すると、コマンドの役割が理解しやすくなります。

Diagram showing Git's three-stage workflow: Working Tree, Staging Area, and Repository with arrows indicating file movement between stages

最初に一度だけ行う初期設定

Gitをインストールしたら、まずユーザー名とメールアドレスを設定します。この情報はcommitの作成者として記録されます。

git config --global user.name "Taro Yamada"
git config --global user.email "taro@example.com"
git config -l   # 設定内容を確認

エイリアス設定で入力を短縮する

頻繁に打つコマンドは、エイリアス(別名)を登録すると効率が上がります。

git config --global alias.st status
git config --global alias.sw switch

設定後は git st と入力するだけで git status が実行されます。

【早見表】よく使うGitコマンド一覧

基本操作(作成・記録・確認)

コマンド 用途 よく使うオプション
git init 新しいリポジトリを作成 —
git clone URL リモートリポジトリを複製 -b(ブランチ指定)、--depth 1(最新履歴のみ)
git status 変更状態を確認 -s(簡易表示)
git add 変更をステージング .(カレント以下)、-A(全体)、-p(部分的に選択)
git commit 変更を記録 -m(メッセージ指定)、--amend(直前のcommitを修正)
git diff 差分を確認 --cached(ステージ済みの差分)
git log 履歴を確認 --oneline、--graph、-p
git show 特定commitの詳細を表示 —

ブランチ・取り消し・リモート操作

コマンド 用途 よく使うオプション
git branch branchの一覧・作成・削除 -d(削除)、-D(強制削除)
git switch branchの切り替え -c(作成して切り替え)
git merge branchを統合 —
git rebase 履歴を付け替えて統合 -i(対話的に編集)
git reset commitやステージを取り消し --soft / --mixed / --hard
git restore ファイルの変更を元に戻す --staged(ステージ解除)
git revert 打ち消しcommitを作成 —
git stash 作業を一時退避 pop、list、-u
git fetch / git pull リモートの変更を取得 pull --rebase
git push リモートへ送信 -u、--force-with-lease
git tag タグを付ける -a(注釈付き)

branch操作に関するコマンドと使い方

git branch で作成・一覧・削除

git branch                 # 一覧表示(*が現在のbranch)
git branch feature/login   # 新規作成
git branch -d feature/login  # マージ済みなら削除
git branch -D feature/login  # 未マージでも強制削除

-d はマージされていないbranchの削除を拒否してくれるため、初心者はまず -d を使うのが安全です。

git checkout と git switch / restore の違い

従来の git checkout は「branchの切り替え」と「ファイルの復元」という2つの役割を持ち、混乱の原因になっていました。Git 2.23からはこれが分割されています。

やりたいこと 旧コマンド 新コマンド(推奨)
branchを切り替える git checkout main git switch main
作成して切り替える git checkout -b dev git switch -c dev
ファイルの変更を戻す git checkout -- a.txt git restore a.txt

今から覚えるなら、目的が明確な switch と restore を使うのがおすすめです。

mergeとrebaseの違い

git merge と git rebase は、どちらも「別のbranchの変更を取り込む」コマンドです。取り込んだ結果のファイルの中身は同じになりますが、履歴(commitの並び方)の残り方が違います。

たとえば、main から feature branchを作って作業している間に、他の人の変更が main に追加されたとします。

          D---E   feature(自分の作業)
         /
    A---B---C     main(Cは他の人が追加したcommit)

この状態から main の変更を取り込むとき、mergeとrebaseでは結果が次のように変わります。

git merge:2つの履歴を合流させる

git switch feature
git merge main
          D---E---M   feature
         /       /
    A---B-------C     main

2つの履歴をそのまま残し、合流点に「マージcommit(M)」を1つ追加します。いつ・どこで分岐して合流したかがすべて記録されるため、既存のcommitは一切書き換わりません。

git rebase:自分のcommitを付け替える

git switch feature
git rebase main
    A---B---C---D'---E'   feature
            ↑
           main

自分のcommit(D・E)を一度取り外し、main の最新(C)の後ろに付け直します。まるで最初から最新の main から作業を始めたかのような、一直線の履歴になります。ただし付け直したcommitは中身が同じでも別物として作り直されるため、commit IDが変わります(D→D’、E→E’)。

Side-by-side diagram comparing git merge (creates merge commit) and git rebase (linear history) with branching examples

違いを表にまとめると次のとおりです。

比較項目 git merge git rebase
履歴の形 分岐と合流が残る 一直線になる
既存のcommit そのまま残る 作り直される(IDが変わる)
追加されるcommit マージcommitが1つ増える 増えない
コンフリクトの解消 まとめて1回 commitごとに発生することがある
他の人と共有中のbranchでの使用 安全 避ける(強制pushが必要になる)

迷ったときは、次のように使い分けるのが基本です。

  • merge:作業を終えたbranchを main に取り込むとき、他の人と共有しているbranchを更新するとき
  • rebase:まだpushしていない自分だけのbranchを、最新の main に追従させるとき

rebaseはcommitを作り直すため、共有済みのbranchをrebaseすると他の人の手元の履歴と食い違ってしまいます。rebaseは自分だけのbranchで使うのが原則です。自分のbranchをpush後にrebaseした場合は、通常の git push が拒否されるため、git push --force-with-lease で送信します。

なお、main に feature を取り込むとき、分岐後に main へ新しいcommitが追加されていなければ、マージcommitは作られず、main の先端が feature の位置まで進むだけで完了します(fast-forward)。

コンフリクトの対処法

同じ箇所を別々に編集していると、merge・rebaseのどちらでもコンフリクト(競合)が発生します。対処手順は次のとおりです。

  1. git status で競合ファイルを確認する
  2. ファイル内の <<<<<<<〜>>>>>>> の範囲を手で修正する
  3. git add でステージングする
  4. mergeなら git commit、rebaseなら git rebase --continue を実行する

中断したい場合は git merge --abort または git rebase --abort で元の状態に戻せます。

変更の取り消し・一時退避に関するコマンド

git reset の3つのオプションの違い

git reset は、オプションによって影響範囲が大きく変わります。

オプション commit ステージング ワークツリー(作業中のファイル)
--soft 取り消す 残る 残る
--mixed(既定) 取り消す 取り消す 残る
--hard 取り消す 取り消す 破棄される

Comparison table visualization showing how git reset --soft, --mixed, and --hard affect different areas: commits, staging area, and working files

たとえば git reset --soft HEAD~1 なら、直前のcommitだけを取り消し、変更内容はステージングに残ります。--hard は編集内容も消えるため、実行前に git status で確認しましょう。

git restore と git revert の使い分け

  • git restore a.txt:まだcommitしていない編集を元に戻す
  • git restore --staged a.txt:git add を取り消す
  • git revert コミットID:指定したcommitを打ち消す新しいcommitを作る

すでにpushしたcommitはresetではなくrevertで取り消すのが鉄則です。履歴を書き換えないため、チームメンバーに影響を与えません。

git stash で作業を一時退避する

「作業途中だが、急ぎで別のbranchを修正したい」という場面で活躍します。

git stash        # 変更を退避
git stash -u     # 未追跡ファイルも含めて退避
git stash list   # 退避一覧を確認
git stash pop    # 最新の退避を復元して一覧から削除
git stash apply  # 復元するが一覧には残す
git stash drop   # 退避を削除

リモート連携と覚えておきたい応用コマンド

fetch・pull・pushの違いと安全な使い方

git fetch はリモートの変更を取得するだけで、手元のファイルは変わりません。git pull は「fetch+merge」を一度に行います(--rebase を付けるとrebaseで統合)。

git remote add origin URL   # リモートを登録
git push -u origin main     # 初回push(追跡設定も行う)
git push --force-with-lease # 安全な強制push

-f(強制push)はリモートの他人の変更まで上書きする恐れがあります。--force-with-lease なら、想定外の更新があった場合にpushを中止してくれるため、こちらを選びましょう。

tag・cherry-pick・rebase -i

git tag -a v1.0.0 -m "初回リリース"  # 注釈付きタグ
git push origin v1.0.0              # タグをpush
git tag -d v1.0.0                   # ローカルのタグ削除
git cherry-pick コミットID           # 特定のcommitだけ取り込む
git rebase -i HEAD~3                # 直近3件のcommitを整理

rebase -i を使うと、細かいcommitを1つにまとめたり、メッセージを修正したりできます。いずれもpush前のcommitに対して使うのが基本です。

さらに調べたいときの情報源

情報源 特徴
Git公式サイト「Pro Git」日本語版 Git公式サイトで無料公開されている解説書。基本操作から内部の仕組みまで体系的に学べる
tracpath.com Git公式リファレンス日本語版 公式リファレンスの日本語訳。索引形式で詳細を確認できる
Qiita「【保存版】Gitコマンド一覧と基本的な使い方まとめ」 目的別に具体例付きで整理(2025年8月更新)
toolsbase.dev「Gitコマンド一覧」 ブラウザ上で検索し、使用例をコピーできるチートシート

書籍で体系的に学びたい場合は、次の2冊がおすすめです。

※書籍のリンクは楽天アフィリエイトを利用した広告リンクです。

書籍 特徴
いちばんやさしいGit&GitHubの教本 第3版 人気講師が教えるバージョン管理&共有入門(横田紋奈・宇賀神みずき/インプレス) 図解を中心に、コマンド操作からGitHubでの共同作業までを1冊で学べる
改訂2版 わかばちゃんと学ぶ Git使い方入門(湊川あい/シーアンドアール研究所) 漫画でGitの仕組みから学べる入門書。操作はGUIツール(SourceTree)が中心

また、ターミナルで git help -a を実行するとサブコマンドの一覧、git help -g でコンセプトガイドの一覧を確認できます。

まとめ

Gitコマンドは数が多いものの、場面ごとに整理すれば覚えるべきものは限られます。

  • 初回:git config で名前とメールアドレスを設定
  • 日常作業:status → add → commit → push の流れを習慣化
  • branch操作:切り替えは git switch、ファイル復元は git restore
  • 取り消し:push前は reset、push後は revert
  • 困ったとき:stash で退避、コンフリクトは修正→add→commit

まずは早見表をブックマークし、実際の作業で1つずつ使いながら覚えていきましょう。手を動かすほど、Gitの操作は確実に身につきます。

コメント

タイトルとURLをコピーしました