メインコンテンツへスキップ
Toolsbase Logo

Gitコマンド一覧

よく使うGitコマンドをカテゴリ別にまとめたチートシート。基本操作からブランチ管理、リモート操作、リセット・取り消しまで、実用的なコマンドを検索・コピーできます。

最終更新:

使い方

使い方を開く
  1. 1

    コマンドを検索

    検索欄にコマンド名を入力するか、カテゴリ(基本操作、ブランチ操作など)でフィルタリングして目的のコマンドを見つけます。

  2. 2

    オプションと使用例を確認

    各コマンドの説明、よく使うオプション、実際の使用例を確認します。

  3. 3

    コマンドをコピー

    使用例のコマンドをクリックしてクリップボードにコピーし、ターミナルですぐに実行できます。

git add
ファイルをステージングエリアに追加

よく使うオプション

  • .: カレントディレクトリ以下の全変更を追加
  • -A: 追跡中ファイルの全変更(削除含む)を追加
  • -p: 対話的に変更を選択して追加
  • -u: 追跡中ファイルの変更のみ追加

使用例

git add .
すべての変更をステージング
git add -p
変更を対話的に選択してステージング
git add file.txt
特定のファイルをステージング

git commit
ステージングエリアの変更をコミット

よく使うオプション

  • -m: コミットメッセージを指定
  • --amend: 直前のコミットを修正
  • -a: 追跡中ファイルの変更を自動ステージング&コミット
  • --no-verify: pre-commitフックをスキップ

使用例

git commit -m "feat: add new feature"
メッセージ付きでコミット
git commit --amend
直前のコミットに追加修正
git commit -am "fix: bug fix"
変更を自動ステージング&コミット

git status
作業ツリーの状態を確認

よく使うオプション

  • -s: 短縮形式で表示
  • -b: ブランチ情報も表示
  • --porcelain: スクリプト向けの出力形式

使用例

git status
現在の状態を確認
git status -sb
短縮形式でブランチ情報も表示

git diff
変更の差分を表示

よく使うオプション

  • --staged: ステージング済みの差分を表示
  • --cached: --stagedと同じ
  • --stat: 変更ファイルの統計情報を表示
  • --name-only: 変更ファイル名のみ表示

使用例

git diff
未ステージングの変更を表示
git diff --staged
ステージング済みの変更を表示
git diff HEAD~1
直前のコミットとの差分を表示

git log
コミット履歴を表示

よく使うオプション

  • --oneline: 1行形式で表示
  • --graph: ブランチのグラフを表示
  • -n: 直近n件を表示
  • -p: パッチ(差分)も表示

使用例

git log --oneline
1行形式で履歴を表示
git log --oneline --graph
グラフ付きで履歴を表示
git log -5
直近5件のコミットを表示

git push
ローカルの変更をリモートに送信

よく使うオプション

  • -u: 上流ブランチを設定
  • --force: 強制プッシュ(注意)
  • --force-with-lease: 安全な強制プッシュ
  • --tags: タグも一緒にプッシュ

使用例

git push origin main
mainブランチをoriginにプッシュ
git push -u origin feature
新ブランチをプッシュして上流を設定
git push --force-with-lease
安全に強制プッシュ

git pull
リモートの変更を取得してマージ

よく使うオプション

  • --rebase: マージではなくリベースで取り込む
  • --no-rebase: マージで取り込む(デフォルト)
  • --ff-only: fast-forwardのみ許可

使用例

git pull
リモートの変更を取得してマージ
git pull --rebase
リベースで取り込む
git pull origin main
originのmainブランチをプル

git fetch
リモートの変更を取得(マージなし)

よく使うオプション

  • --all: すべてのリモートから取得
  • --prune: 削除されたリモートブランチを削除
  • --tags: タグも取得

使用例

git fetch origin
originから変更を取得
git fetch --all
すべてのリモートから取得
git fetch --prune
削除されたブランチを整理

git branch
ブランチの一覧・作成・削除

よく使うオプション

  • -a: ローカルとリモート両方を表示
  • -d: ブランチを削除
  • -D: 強制削除
  • -m: ブランチ名を変更

使用例

git branch
ローカルブランチ一覧を表示
git branch feature/new
新しいブランチを作成
git branch -d feature/old
マージ済みブランチを削除

git checkout
ブランチの切り替え・ファイルの復元(旧コマンド)

よく使うオプション

  • -b: 新ブランチを作成して切り替え
  • --: ファイルを復元
  • -B: ブランチを強制的に作成・リセット

使用例

git checkout main
mainブランチに切り替え
git checkout -b feature/new
新ブランチを作成して切り替え
git checkout -- file.txt
ファイルを最新コミットの状態に復元

git switch
ブランチを切り替え(Git 2.23以降推奨)

よく使うオプション

  • -c: 新ブランチを作成して切り替え
  • -C: 既存ブランチをリセットして切り替え
  • -d: デタッチドHEADでチェックアウト

使用例

git switch main
mainブランチに切り替え
git switch -c feature/new
新ブランチを作成して切り替え
git switch -
直前のブランチに戻る

git merge
ブランチをマージ

よく使うオプション

  • --no-ff: fast-forwardしない(マージコミット作成)
  • --squash: 変更をまとめて取り込む
  • --abort: マージを中止

使用例

git merge feature/new
feature/newをマージ
git merge --no-ff feature/new
マージコミットを必ず作成
git merge --abort
コンフリクト時にマージを中止

git rebase
ブランチの基点を変更

よく使うオプション

  • -i: インタラクティブモード
  • --onto: 基点を明示的に指定
  • --continue: コンフリクト解決後に続行
  • --abort: リベースを中止

使用例

git rebase main
mainブランチにリベース
git rebase -i HEAD~3
直近3コミットを編集
git rebase --abort
リベースを中止して元に戻す

git show
コミットの内容を詳細表示

よく使うオプション

  • --stat: ファイル変更の統計情報を表示
  • --name-only: 変更ファイル名のみ表示
  • --oneline: 1行形式で表示

使用例

git show
最新コミットの詳細を表示
git show HEAD~1
1つ前のコミットを表示
git show abc1234
特定のコミットを表示

git blame
各行の最終変更者を表示

よく使うオプション

  • -L: 行範囲を指定
  • -w: 空白の変更を無視
  • -C: コピーされたコードも追跡

使用例

git blame file.txt
ファイルの各行の変更者を表示
git blame -L 10,20 file.txt
10〜20行目の変更者を表示
git blame -w file.txt
空白の変更を無視して表示

git reflog
HEADの移動履歴を表示

よく使うオプション

  • --all: すべての参照のreflogを表示
  • -n: 直近n件を表示
  • --date=relative: 相対日時で表示

使用例

git reflog
HEADの移動履歴を表示
git reflog -10
直近10件の履歴を表示
git checkout HEAD@{2}
reflogを使って過去の状態に移動

git shortlog
コミット数をユーザーごとにサマリー

よく使うオプション

  • -s: コミット数のみ表示
  • -n: コミット数順にソート
  • -e: メールアドレスも表示

使用例

git shortlog -sn
コミット数順でユーザー一覧
git shortlog -sne
メールアドレス付きで表示
git shortlog HEAD~100..HEAD
直近100コミットの貢献者

git reset
コミットを取り消し・HEADを移動

よく使うオプション

  • --soft: コミットのみ取り消し(変更は保持)
  • --mixed: ステージングも解除(デフォルト)
  • --hard: 変更も破棄(注意)

使用例

git reset --soft HEAD~1
直前のコミットを取り消し(変更保持)
git reset HEAD file.txt
特定ファイルのステージングを解除
git reset --hard HEAD~1
直前のコミットと変更を破棄

git revert
コミットを打ち消す新しいコミットを作成

よく使うオプション

  • -n: コミットせずに変更のみ適用
  • --no-edit: エディタを開かずにコミット
  • -m: マージコミットの親を指定

使用例

git revert HEAD
直前のコミットを打ち消し
git revert abc1234
特定のコミットを打ち消し
git revert -n HEAD~3..HEAD
複数コミットをまとめて打ち消し

git restore
ファイルを復元(Git 2.23以降推奨)

よく使うオプション

  • --staged: ステージングを解除
  • --source: 復元元のコミットを指定
  • --worktree: 作業ツリーを復元(デフォルト)

使用例

git restore file.txt
ファイルを最新コミットの状態に復元
git restore --staged file.txt
ステージングを解除
git restore --source HEAD~1 file.txt
1つ前のコミットから復元

git clean
未追跡ファイルを削除

よく使うオプション

  • -n: 削除対象をプレビュー(実行しない)
  • -f: 実際に削除
  • -d: ディレクトリも削除
  • -x: .gitignoreで無視されるファイルも削除

使用例

git clean -n
削除対象をプレビュー
git clean -fd
未追跡ファイルとディレクトリを削除
git clean -fdx
無視ファイルも含めて削除

git stash
作業中の変更を一時保存

よく使うオプション

  • push: 変更をスタッシュに保存
  • pop: 最新のスタッシュを適用して削除
  • list: スタッシュ一覧を表示
  • drop: スタッシュを削除

使用例

git stash
変更を一時保存
git stash pop
保存した変更を復元
git stash list
スタッシュ一覧を表示

git remote
リモートリポジトリを管理

よく使うオプション

  • -v: 詳細情報(URL)を表示
  • add: リモートを追加
  • remove: リモートを削除
  • rename: リモート名を変更

使用例

git remote -v
リモートリポジトリ一覧を表示
git remote add upstream https://github.com/user/repo.git
upstreamリモートを追加
git remote rename origin old-origin
リモート名を変更

git config
Gitの設定を確認・変更

よく使うオプション

  • --global: ユーザー全体の設定
  • --local: リポジトリ単位の設定
  • --list: 設定一覧を表示
  • --unset: 設定を削除

使用例

git config --global user.name "Your Name"
ユーザー名を設定
git config --global user.email "you@example.com"
メールアドレスを設定
git config --list
設定一覧を表示

git init
新しいリポジトリを初期化

よく使うオプション

  • --bare: ベアリポジトリを作成
  • -b: 初期ブランチ名を指定
  • --initial-branch: 初期ブランチ名を指定

使用例

git init
カレントディレクトリをリポジトリ化
git init my-project
新しいディレクトリでリポジトリ作成
git init -b main
mainブランチで初期化

git clone
リモートリポジトリをローカルにコピー

よく使うオプション

  • --depth: 履歴の深さを制限(シャロークローン)
  • -b: 特定のブランチをクローン
  • --single-branch: 指定ブランチのみクローン
  • --recurse-submodules: サブモジュールも取得

使用例

git clone https://github.com/user/repo.git
リポジトリをクローン
git clone --depth 1 https://github.com/user/repo.git
最新コミットのみクローン
git clone -b develop https://github.com/user/repo.git
developブランチをクローン

git tag
タグを作成・管理

よく使うオプション

  • -a: 注釈付きタグを作成
  • -m: タグメッセージを指定
  • -d: タグを削除
  • -l: タグ一覧を表示

使用例

git tag v1.0.0
軽量タグを作成
git tag -a v1.0.0 -m "Release 1.0.0"
注釈付きタグを作成
git tag -d v1.0.0
タグを削除

git cherry-pick
特定のコミットを現在のブランチに適用

よく使うオプション

  • -n: コミットせずに変更のみ適用
  • --no-commit: -nと同じ
  • -x: 元のコミットIDをメッセージに追記
  • --abort: cherry-pickを中止

使用例

git cherry-pick abc1234
特定のコミットを適用
git cherry-pick abc1234 def5678
複数のコミットを適用
git cherry-pick --abort
cherry-pickを中止

git bisect
二分探索でバグ混入コミットを特定

よく使うオプション

  • start: 二分探索を開始
  • good: 正常なコミットをマーク
  • bad: バグがあるコミットをマーク
  • reset: 二分探索を終了

使用例

git bisect start
二分探索を開始
git bisect bad HEAD
現在のHEADをバグありとマーク
git bisect good v1.0.0
v1.0.0を正常とマーク

git grep
リポジトリ内のテキストを検索

よく使うオプション

  • -n: 行番号を表示
  • -i: 大文字小文字を無視
  • -l: ファイル名のみ表示
  • -c: マッチ数をカウント

使用例

git grep "TODO"
TODOを含む行を検索
git grep -n "function"
行番号付きで検索
git grep -l "import"
マッチするファイル名のみ表示

Gitコマンド一覧とは

Gitコマンド一覧は、日々の開発でよく使うGitコマンドをカテゴリ別にまとめた無料のチートシートです。初期設定・基本操作(add/commit/push/pull)からブランチ管理(branch/checkout/merge/rebase)、履歴確認(log/diff/blame/bisect)、取り消し操作(reset/revert/restore)まで、30以上の主要コマンドを収録しています。各コマンドには詳細な説明、よく使うオプション一覧、実際の使用例が付いており、オプションを忘れたときに素早く参照できます。カテゴリ別フィルターとリアルタイム検索で目的のコマンドを即座に見つけられ、ワンクリックでコピーできます。

主な機能

  • 30以上の主要Gitコマンドを収録
  • コマンドごとのオプション一覧と使用例
  • カテゴリ別フィルタリング(基本操作、ブランチ、履歴など)
  • リアルタイム検索機能
  • 使用例のワンクリックコピー

こんな場面で役立ちます

  • Gitコマンドの正しい使い方を確認したいとき
  • よく使うオプションを素早く調べたいとき
  • Git初心者の学習リファレンスとして
  • 複雑な操作(rebase、bisect等)の構文確認
  • ターミナル作業中のクイックリファレンス

よくある質問

git pullとgit fetchの違いは何ですか?

git fetchはリモートの変更をローカルに取得するだけで、作業ブランチには影響しません。git pullはfetch後に自動でmergeまたはrebaseを行い、作業ブランチに変更を取り込みます。

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

git resetはコミット履歴を書き換えて過去の状態に戻します。git revertは打ち消しコミットを新たに作成するため、履歴は保持されます。共有ブランチではrevertが安全です。

checkoutとswitchの違いは何ですか?

switchはGit 2.23で追加された新しいコマンドで、ブランチ切り替え専用です。checkoutはブランチ切り替えとファイル復元の両方ができますが、役割が混在しています。新しいコマンド(switch/restore)の使用が推奨されます。

--forceと--force-with-leaseの違いは何ですか?

--forceは無条件で強制プッシュしますが、--force-with-leaseはリモートが予期した状態の場合のみプッシュします。他の人の変更を誤って上書きするリスクを軽減できます。

間違えてコミットを消してしまったら?

git reflogを使うと、過去のHEADの移動履歴を確認できます。消したコミットのハッシュを見つけて、git checkout や git cherry-pick で復元できる可能性があります。