ぱんだツールズぱんだツールズ

Gitコマンド逆引き検索

「やりたいこと」からGitコマンドを検索。危険なコマンドは色分け表示

ぱんだツールズファイルはサーバーに送信されません
安全度:
全65件を表示中
新しいGitリポジトリを作成する安全
基本操作
git init
構文

git init [ディレクトリ]

git init my-project

my-project ディレクトリに新しいGitリポジトリを作成

公式ドキュメント
既存のリポジトリを複製する安全
基本操作
git clone
構文

git clone <URL> [ディレクトリ名]

git clone https://github.com/user/repo.git

リモートリポジトリをローカルに複製

公式ドキュメント
現在の変更状況を確認する安全
基本操作
git status
構文

git status

git status

ステージ済み・未ステージの変更ファイル一覧を表示

公式ドキュメント
変更をステージに追加する安全
基本操作
git add
構文

git add <ファイル|ディレクトリ|.>

git add .

カレントディレクトリ以下の全変更をステージ

💡 git add -p で変更を対話的に一部だけステージすることも可能

公式ドキュメント
変更差分を確認する安全
基本操作
git diff
構文

git diff [ファイル]

git diff src/app.ts

ワーキングツリーとステージ済みの差分を表示

公式ドキュメント
ステージ済みの差分を確認する安全
基本操作
git diff --staged
構文

git diff --staged [ファイル]

git diff --staged

コミット予定の変更内容を確認

💡 --cached は --staged のエイリアス

公式ドキュメント
特定ファイルをGit管理から除外する安全
基本操作
.gitignore
構文

.gitignore に除外パターンを記述

echo "node_modules/" >> .gitignore

node_modules ディレクトリを追跡対象外にする

💡 すでに追跡済みのファイルには効果がないため git rm --cached で追跡解除が必要

公式ドキュメント
追跡済みファイルを追跡対象から外す要注意
基本操作
git rm --cached
構文

git rm --cached <ファイル>

git rm --cached .env

.env をGit管理から外す(ファイル自体は残る)

💡 .gitignore に追加してもすでに追跡中のファイルには効果がないため、この操作が必要

公式ドキュメント
変更をコミットする安全
コミット
git commit
構文

git commit -m "<メッセージ>"

git commit -m "Fix login bug"

ステージ済みの変更をコミット

公式ドキュメント
直前のコミットメッセージを修正する要注意
コミット
git commit --amend
構文

git commit --amend -m "<新メッセージ>"

git commit --amend -m "Fix login redirect bug"

直前のコミットメッセージを書き換える

💡 プッシュ済みのコミットをamendすると履歴が変わるため、共有ブランチでは force push が必要になる

公式ドキュメント
コミットにファイルを追加し忘れたので追記する要注意
コミット
git commit --amend --no-edit
構文

git add <ファイル> && git commit --amend --no-edit

git add forgotten.ts && git commit --amend --no-edit

メッセージを変えずに直前のコミットにファイルを追加

公式ドキュメント
空コミットを作成する安全
コミット
git commit --allow-empty
構文

git commit --allow-empty -m "<メッセージ>"

git commit --allow-empty -m "trigger CI"

CIの再実行トリガーなど、変更なしでコミットを作成

公式ドキュメント
ファイルの一部だけをステージする安全
コミット
git add -p
構文

git add -p [ファイル]

git add -p src/app.ts

変更を対話的にhunk単位で選んでステージ

💡 1つのコミットに無関係な変更が混ざるのを防げる

公式ドキュメント
過去の複数コミットをまとめて整理する要注意
コミット
git rebase -i
構文

git rebase -i HEAD~<件数>

git rebase -i HEAD~3

直近3件のコミットをsquash・reword・並び替え

💡 プッシュ済みのコミットに対して行うと履歴が書き換わるため注意

公式ドキュメント
新しいブランチを作成する安全
ブランチ
git branch
構文

git branch <ブランチ名>

git branch feature/login

feature/login ブランチを作成(切り替えはしない)

公式ドキュメント
ブランチを作成してすぐ切り替える安全
ブランチ
git switch -c
構文

git switch -c <ブランチ名>

git switch -c feature/login

feature/login を作成して切り替え

💡 旧来は git checkout -b <ブランチ名> で同じことができる

公式ドキュメント
ブランチを切り替える安全
ブランチ
git switch
構文

git switch <ブランチ名>

git switch main

main ブランチに切り替え

💡 Git 2.23以降推奨。git checkout <ブランチ名> でも同じ動作

公式ドキュメント
ブランチ一覧を表示する安全
ブランチ
git branch -a
構文

git branch -a

git branch -a

ローカル・リモート全てのブランチを表示

公式ドキュメント
マージ済みのブランチを削除する要注意
ブランチ
git branch -d
構文

git branch -d <ブランチ名>

git branch -d feature/login

マージ済みブランチを安全に削除

公式ドキュメント
未マージのブランチを強制削除する危険
ブランチ
git branch -D
構文

git branch -D <ブランチ名>

git branch -D old-experiment

マージされていない変更ごとブランチを削除

💡 未マージのコミットは reflog から一定期間のみ復元可能

公式ドキュメント
ブランチ名を変更する安全
ブランチ
git branch -m
構文

git branch -m [旧名] <新名>

git branch -m old-name new-name

ブランチ名を new-name に変更

公式ドキュメント
リモートブランチをローカルに取得して追跡する安全
ブランチ
git switch -t
構文

git switch -t origin/<ブランチ名>

git switch -t origin/feature/login

リモートの feature/login をローカルに作成して追跡設定

💡 旧来は git checkout -t origin/<ブランチ名> で同じことができる

公式ドキュメント
ブランチをマージする安全
マージ・リベース
git merge
構文

git merge <ブランチ名>

git merge feature/login

feature/login を現在のブランチにマージ

公式ドキュメント
Fast-forwardさせずにマージ履歴を残す安全
マージ・リベース
git merge --no-ff
構文

git merge --no-ff <ブランチ名>

git merge --no-ff feature/login

マージコミットを必ず作成して履歴を明示的に残す

公式ドキュメント
マージを中断して元の状態に戻す安全
マージ・リベース
git merge --abort
構文

git merge --abort

git merge --abort

コンフリクト発生時にマージ前の状態に戻す

公式ドキュメント
ブランチをリベースする要注意
マージ・リベース
git rebase
構文

git rebase <ベースブランチ>

git rebase main

現在のブランチのコミットを main の最新の上に付け替える

💡 共有ブランチをリベースすると他の人の履歴と食い違うため、個人ブランチでの使用が基本

公式ドキュメント
リベースを中断して元の状態に戻す安全
マージ・リベース
git rebase --abort
構文

git rebase --abort

git rebase --abort

コンフリクトが複雑な場合にリベース前の状態に戻す

公式ドキュメント
コンフリクト解消後にリベースを再開する安全
マージ・リベース
git rebase --continue
構文

git add <解消済みファイル> && git rebase --continue

git add . && git rebase --continue

コンフリクトを解消してリベースを続行

公式ドキュメント
特定のコミットだけを別ブランチに取り込む要注意
マージ・リベース
git cherry-pick
構文

git cherry-pick <コミットハッシュ>

git cherry-pick a1b2c3d

指定コミットの変更だけを現在のブランチに適用

💡 同じ変更を複数ブランチに適用するため、コンフリクトが起きやすい

公式ドキュメント
コンフリクトを解決してコミットする安全
マージ・リベース
git add + git commit
構文

競合箇所を編集 → git add <ファイル> → git commit

git add resolved.ts && git commit

コンフリクトマーカーを解消後にステージしてコミット

💡 マージコンフリクトは <<<<<<< ======= >>>>>>> のマーカーで示される

公式ドキュメント
リモートリポジトリを登録する安全
リモート
git remote add
構文

git remote add <名前> <URL>

git remote add origin https://github.com/user/repo.git

origin という名前でリモートを登録

公式ドキュメント
リモートの変更を取得する(マージはしない)安全
リモート
git fetch
構文

git fetch [リモート名]

git fetch origin

リモートの最新情報を取得。ローカルブランチには反映されない

公式ドキュメント
リモートの変更を取得してマージする安全
リモート
git pull
構文

git pull [リモート名] [ブランチ名]

git pull origin main

リモートの最新変更を取得して現在のブランチにマージ

💡 git pull --rebase でマージコミットの代わりにリベースする運用も一般的

公式ドキュメント
ローカルの変更をリモートに反映する安全
リモート
git push
構文

git push [リモート名] [ブランチ名]

git push origin feature/login

feature/login ブランチをリモートにプッシュ

公式ドキュメント
初回プッシュで追跡ブランチを設定する安全
リモート
git push -u
構文

git push -u <リモート名> <ブランチ名>

git push -u origin feature/login

以降は git push だけで同じリモートブランチにプッシュ可能に

公式ドキュメント
書き換えた履歴を強制的にプッシュする危険
リモート
git push --force-with-lease
構文

git push --force-with-lease [リモート名] [ブランチ名]

git push --force-with-lease origin feature/login

amendやrebase後の履歴をリモートに反映

💡 --force ではなく --force-with-lease を使うと、他の人が先にプッシュした変更を誤って上書きするのを防げる

公式ドキュメント
リモートブランチを削除する危険
リモート
git push --delete
構文

git push <リモート名> --delete <ブランチ名>

git push origin --delete feature/login

リモート上の feature/login を削除

公式ドキュメント
リモートリポジトリのURLを変更する安全
リモート
git remote set-url
構文

git remote set-url <名前> <新URL>

git remote set-url origin [email protected]:user/repo.git

HTTPSからSSH接続に切り替えるなど

公式ドキュメント
作業ディレクトリの変更を破棄する危険
取り消し・復元
git restore
構文

git restore <ファイル>

git restore src/app.ts

コミットしていない変更を破棄して直前の状態に戻す

💡 未保存の変更は復元できないため実行前に必ず確認する

公式ドキュメント
ステージした変更を取り消す安全
取り消し・復元
git restore --staged
構文

git restore --staged <ファイル>

git restore --staged src/app.ts

ステージを解除する(変更内容自体は残る)

💡 旧来は git reset HEAD <ファイル> で同じことができる

公式ドキュメント
直前のコミットを取り消してステージだけ残す要注意
取り消し・復元
git reset --soft
構文

git reset --soft HEAD~<件数>

git reset --soft HEAD~1

直前のコミットを取り消し、変更内容はステージ済みのまま残す

公式ドキュメント
指定コミットまで完全に巻き戻す危険
取り消し・復元
git reset --hard
構文

git reset --hard <コミットハッシュ>

git reset --hard HEAD~1

直前のコミットとその変更内容を完全に破棄

💡 ワーキングツリーの変更も含めて失われる。実行前に git stash や別ブランチでのバックアップを推奨

公式ドキュメント
過去のコミットを打ち消す新しいコミットを作る安全
取り消し・復元
git revert
構文

git revert <コミットハッシュ>

git revert a1b2c3d

指定コミットの変更を打ち消す新規コミットを作成

💡 履歴を書き換えないため、プッシュ済み・共有ブランチでの取り消しに安全

公式ドキュメント
特定ファイルだけ過去のコミット時点の内容に戻す要注意
取り消し・復元
git restore --source
構文

git restore --source=<コミット> <ファイル>

git restore --source=HEAD~3 src/app.ts

3コミット前の app.ts の内容だけを復元

公式ドキュメント
誤って削除したブランチを復元する安全
取り消し・復元
git reflog
構文

git reflog → git branch <ブランチ名> <ハッシュ>

git reflog
git branch recovered-branch a1b2c3d

reflogで削除前のコミットハッシュを特定してブランチを再作成

💡 reflogはデフォルトで90日間(gc.reflogExpire)保持される

公式ドキュメント
未追跡ファイルをまとめて削除する危険
取り消し・復元
git clean -fd
構文

git clean -fd

git clean -n -fd (事前確認)
git clean -fd(実削除)

.gitignore対象外の未追跡ファイル・ディレクトリを削除

💡 一度削除すると復元できない。必ず -n(ドライラン)で対象を確認してから実行する

公式ドキュメント
作業中の変更を一時的に退避する安全
スタッシュ
git stash
構文

git stash [push -m "<メモ>"]

git stash push -m "WIP: login form"

未コミットの変更をスタッシュに退避して作業ツリーをきれいにする

公式ドキュメント
退避した変更を復元する安全
スタッシュ
git stash pop
構文

git stash pop [stash@{n}]

git stash pop

最新のスタッシュを復元してスタッシュ一覧から削除

公式ドキュメント
スタッシュを一覧から削除せずに適用する安全
スタッシュ
git stash apply
構文

git stash apply [stash@{n}]

git stash apply stash@{1}

複数ブランチに同じ変更を適用したい場合に使う

💡 popと違いスタッシュ一覧に残るため、後で git stash drop での削除が必要

公式ドキュメント
スタッシュ一覧を確認する安全
スタッシュ
git stash list
構文

git stash list

git stash list

退避中のスタッシュを一覧表示

公式ドキュメント
不要になったスタッシュを削除する要注意
スタッシュ
git stash drop
構文

git stash drop [stash@{n}]

git stash drop stash@{0}

指定したスタッシュを削除

公式ドキュメント
コミット履歴を確認する安全
履歴確認
git log
構文

git log

git log

作者・日時・メッセージ付きでコミット履歴を表示

公式ドキュメント
履歴を1行ずつ簡潔に確認する安全
履歴確認
git log --oneline
構文

git log --oneline [-n 件数]

git log --oneline -n 10

直近10件のコミットをハッシュとメッセージだけで表示

公式ドキュメント
ブランチの分岐・マージをグラフで確認する安全
履歴確認
git log --graph
構文

git log --graph --all --oneline

git log --graph --all --oneline --decorate

全ブランチの分岐・マージ構造を視覚的に表示

公式ドキュメント
特定ファイルの変更履歴を確認する安全
履歴確認
git log -- <ファイル>
構文

git log -- <ファイルパス>

git log -- src/app.ts

app.ts に対する変更コミットのみを表示

公式ドキュメント
その行を誰がいつ変更したか調べる安全
履歴確認
git blame
構文

git blame <ファイル>

git blame src/app.ts

各行の最終変更者・コミットハッシュ・日時を表示

公式ドキュメント
コミットメッセージからコミットを検索する安全
履歴確認
git log --grep
構文

git log --grep="<検索語>"

git log --grep="fix login"

メッセージに "fix login" を含むコミットを検索

公式ドキュメント
タグを作成する安全
タグ
git tag
構文

git tag <タグ名>

git tag v1.0.0

現在のコミットに v1.0.0 タグを付与

公式ドキュメント
リリース用の注釈付きタグを作成する安全
タグ
git tag -a
構文

git tag -a <タグ名> -m "<メッセージ>"

git tag -a v1.0.0 -m "Initial release"

メッセージ・作成者・日時が記録される注釈付きタグを作成

💡 リリース管理には軽量タグより注釈付きタグが推奨される

公式ドキュメント
タグをリモートにプッシュする安全
タグ
git push --tags
構文

git push <リモート名> --tags

git push origin --tags

ローカルの全タグをリモートに反映

公式ドキュメント
タグを削除する要注意
タグ
git tag -d
構文

git tag -d <タグ名> && git push <リモート名> --delete <タグ名>

git tag -d v1.0.0
git push origin --delete v1.0.0

ローカルとリモート両方からタグを削除

公式ドキュメント
コミットに使うユーザー名・メールを設定する安全
設定・その他
git config
構文

git config --global user.name "<名前>" git config --global user.email "<メール>"

git config --global user.name "Taro Yamada"
git config --global user.email "[email protected]"

全リポジトリ共通のユーザー情報を設定

💡 --global を外すとそのリポジトリだけの設定になる

公式ドキュメント
よく使うコマンドにエイリアスを設定する安全
設定・その他
git config --global alias
構文

git config --global alias.<エイリアス名> "<コマンド>"

git config --global alias.co checkout

git co で git checkout を実行できるようにする

公式ドキュメント
別リポジトリをサブモジュールとして追加する要注意
設定・その他
git submodule add
構文

git submodule add <URL> [パス]

git submodule add https://github.com/user/lib.git libs/lib

外部リポジトリをサブディレクトリとして取り込む

💡 clone時は --recurse-submodules を付けないとサブモジュールの中身が空になる

公式ドキュメント
現在のGit設定を確認する安全
設定・その他
git config --list
構文

git config --list [--global|--local]

git config --list --global

グローバル設定の一覧を表示

公式ドキュメント

よくある質問

「危険」ラベルが付いているコマンドは使ってはいけないのですか?

いいえ、使用してよいですが実行前に影響範囲を理解しておくべき、という意味のラベルです。特に git reset --hard・git push --force・git clean -fd・git branch -D は元に戻せない、または他の人の作業に影響する可能性があるため、実行前に一度立ち止まって確認することをおすすめします。

git resetとgit revertの違いは何ですか?

git reset は履歴そのものを書き換えて過去の状態に戻す操作です(共有ブランチで使うと危険)。git revert は過去のコミットを打ち消す「新しいコミット」を追加するため、履歴を書き換えず、プッシュ済み・共有ブランチでも安全に取り消しができます。

git mergeとgit rebaseはどちらを使うべきですか?

個人のfeatureブランチをきれいに整理してから取り込みたい場合は rebase、複数人が同じブランチにコミットしている場合や履歴の改変を避けたい場合は merge が基本です。すでにリモートにプッシュ済み・他の人と共有しているブランチを rebase すると、相手のローカル履歴と食い違ってしまうため避けましょう。

git pushで「rejected」エラーが出た場合はどうすればいいですか?

リモートに自分のローカルが持っていないコミットが存在する状態です。まず git pull(または git fetch してから git rebase)でリモートの変更を取り込んでから、再度 push してください。

git stashとコミットの違いは何ですか?

git stash は作業途中の変更を「一時的に退避」する仕組みで、コミット履歴には残りません。急に別ブランチへ切り替える必要が出た、といった一時退避の用途に向いています。

--force と --force-with-lease の違いは?

--force は問答無用でリモートの内容を上書きします。--force-with-lease は自分が最後に取得した状態から誰も新しくプッシュしていないことを確認したうえで上書きするため、他の人の変更を誤って消してしまうリスクを減らせます。強制プッシュが必要な場面では --force-with-lease の使用が推奨されます。

誤って削除したブランチやコミットは復元できますか?

git reflog で直近の操作履歴を確認し、該当コミットのハッシュから git branch <ブランチ名> <ハッシュ> でブランチを復元できます。ただし reflog はデフォルトで90日程度で記録が期限切れになるため、なるべく早めに対応してください。

このツールのデータはいつ更新されますか?

最終更新日: 2026-07-03。日常的によく使うGitコマンドから、事故が起きやすい取り消し系コマンドまで幅広く収録しています。新しいコマンドや使用例があれば随時更新します。

逆引き・早見表ツール一覧

すべて見る

このツールについて

使い方

  1. 検索欄に「やりたいこと」(例: ブランチ削除)やコマンド名(例: rebase)を入力する
  2. カテゴリフィルター(ブランチ・コミット・リモート等)で絞り込む
  3. 安全度フィルターで「危険」なコマンドだけを確認することもできる
  4. 各カードの構文・実行例・注意点を確認してからコピー&ペーストで実行する

このツールの特徴

  • 「やりたいこと」から逆引き:「ブランチを消したい」「直前のコミットを取り消したい」など、操作の目的からGitコマンドを検索できます
  • 安全度を3段階で色分け:安全・要注意・危険の3段階で表示し、reset --hard や push --force のような取り返しのつかない操作を実行前に把握できます
  • 構文と実行例をセットで掲載:各コマンドに基本構文と具体的な実行例を掲載しているため、コピー&ペーストですぐ使えます
  • 公式ドキュメントへのリンク付き:git-scm.com の公式リファレンスへの直リンクで、詳細なオプションをすぐ確認できます

こんなときに便利

  • 「あの操作、Gitコマンドで何だっけ」をコマンド名を思い出さずに検索したい
  • reset・revert・rebase など似た名前のコマンドの違いを整理したい
  • 実行して大丈夫か不安なコマンドの危険度を事前に確認したい
  • チームメンバーやレビュー相手にコマンドの使い方を説明したい
  • Gitを学び始めたばかりで、まず何のコマンドがあるか一覧で眺めたい

なぜ「Gitコマンド逆引き検索」が必要なのか

Gitはコマンドの種類が多く、同じ「元に戻す」操作でも reset・revert・restore・checkout など複数のコマンドが存在し、それぞれ挙動も安全性も異なります。コマンド名を知らないと検索キーワードが定まらず、結局「git 元に戻す」のような曖昧な検索で消耗しがちです。

既存のGitコマンド一覧サイトの多くはコマンドを起点にした辞書形式で、コマンド名を知っている前提で作られています。本ツールは「やりたいこと」を起点に、対応するコマンドと注意点をセットで提示することで、コマンド名を覚えていなくても正しい操作にたどり着けることを目指しています。