Gitコマンド一覧|よく使う基本〜応用コマンドを初心者向けに早見表で解説
「git コマンド 一覧を手元に置いて、必要なときにすぐ確認したい」と思ったことはありませんか。Gitには多くのサブコマンドがありますが、日常業務でよく使うものは20個程度です。
この記事では、初心者がつまずきやすいcommitまでの流れ、branch操作、変更の取り消しを中心に、主要コマンドとオプションの使い方を早見表付きで解説します。Git 2.23以降に推奨されている git switch と git restore の違いも整理しているため、逆引き辞典としても活用できます。
Gitコマンド一覧の前に押さえたい仕組みと初期設定
ワークツリー・ステージング・リポジトリの3段階
Gitの変更は、次の3段階を順に移動します。
- ワークツリー:実際にファイルを編集する場所
- ステージングエリア:
git addで「次に記録する変更」を登録する場所 - リポジトリ:
git commitで変更履歴を確定させる場所
さらに、GitHubなどのサーバー上にあるものをリモートリポジトリ、手元のものをローカルリポジトリと呼びます。「今どの段階にあるか」を意識すると、コマンドの役割が理解しやすくなります。

最初に一度だけ行う初期設定
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’)。

違いを表にまとめると次のとおりです。
| 比較項目 | 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のどちらでもコンフリクト(競合)が発生します。対処手順は次のとおりです。
git statusで競合ファイルを確認する- ファイル内の
<<<<<<<〜>>>>>>>の範囲を手で修正する git addでステージングする- mergeなら
git commit、rebaseならgit rebase --continueを実行する
中断したい場合は git merge --abort または git rebase --abort で元の状態に戻せます。
変更の取り消し・一時退避に関するコマンド
git reset の3つのオプションの違い
git reset は、オプションによって影響範囲が大きく変わります。
| オプション | commit | ステージング | ワークツリー(作業中のファイル) |
|---|---|---|---|
--soft |
取り消す | 残る | 残る |
--mixed(既定) |
取り消す | 取り消す | 残る |
--hard |
取り消す | 取り消す | 破棄される |

たとえば 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の操作は確実に身につきます。

コメント