Gitコマンド一覧
よく使うGitコマンドをカテゴリ別にまとめたチートシート。基本操作からブランチ管理、リモート操作、リセット・取り消しまで、実用的なコマンドを検索・コピーできます。
最終更新:
使い方
使い方を開く使い方を閉じる
- 1
コマンドを検索
検索欄にコマンド名を入力するか、カテゴリ(基本操作、ブランチ操作など)でフィルタリングして目的のコマンドを見つけます。
- 2
オプションと使用例を確認
各コマンドの説明、よく使うオプション、実際の使用例を確認します。
- 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 --oneline1行形式で履歴を表示git log --oneline --graphグラフ付きで履歴を表示git log -5直近5件のコミットを表示git pushローカルの変更をリモートに送信
よく使うオプション
- -u: 上流ブランチを設定
- --force: 強制プッシュ(注意)
- --force-with-lease: 安全な強制プッシュ
- --tags: タグも一緒にプッシュ
使用例
git push origin mainmainブランチを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 mainoriginのmainブランチをプルgit fetchリモートの変更を取得(マージなし)
よく使うオプション
- --all: すべてのリモートから取得
- --prune: 削除されたリモートブランチを削除
- --tags: タグも取得
使用例
git fetch originoriginから変更を取得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 mainmainブランチに切り替えgit checkout -b feature/new新ブランチを作成して切り替えgit checkout -- file.txtファイルを最新コミットの状態に復元git switchブランチを切り替え(Git 2.23以降推奨)
よく使うオプション
- -c: 新ブランチを作成して切り替え
- -C: 既存ブランチをリセットして切り替え
- -d: デタッチドHEADでチェックアウト
使用例
git switch mainmainブランチに切り替えgit switch -c feature/new新ブランチを作成して切り替えgit switch -直前のブランチに戻るgit mergeブランチをマージ
よく使うオプション
- --no-ff: fast-forwardしない(マージコミット作成)
- --squash: 変更をまとめて取り込む
- --abort: マージを中止
使用例
git merge feature/newfeature/newをマージgit merge --no-ff feature/newマージコミットを必ず作成git merge --abortコンフリクト時にマージを中止git rebaseブランチの基点を変更
よく使うオプション
- -i: インタラクティブモード
- --onto: 基点を明示的に指定
- --continue: コンフリクト解決後に続行
- --abort: リベースを中止
使用例
git rebase mainmainブランチにリベースgit rebase -i HEAD~3直近3コミットを編集git rebase --abortリベースを中止して元に戻すgit showコミットの内容を詳細表示
よく使うオプション
- --stat: ファイル変更の統計情報を表示
- --name-only: 変更ファイル名のみ表示
- --oneline: 1行形式で表示
使用例
git show最新コミットの詳細を表示git show HEAD~11つ前のコミットを表示git show abc1234特定のコミットを表示git blame各行の最終変更者を表示
よく使うオプション
- -L: 行範囲を指定
- -w: 空白の変更を無視
- -C: コピーされたコードも追跡
使用例
git blame file.txtファイルの各行の変更者を表示git blame -L 10,20 file.txt10〜20行目の変更者を表示git blame -w file.txt空白の変更を無視して表示git reflogHEADの移動履歴を表示
よく使うオプション
- --all: すべての参照のreflogを表示
- -n: 直近n件を表示
- --date=relative: 相対日時で表示
使用例
git reflogHEADの移動履歴を表示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.txt1つ前のコミットから復元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.gitupstreamリモートを追加git remote rename origin old-originリモート名を変更git configGitの設定を確認・変更
よく使うオプション
- --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 mainmainブランチで初期化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.gitdevelopブランチをクローン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 --abortcherry-pickを中止git bisect二分探索でバグ混入コミットを特定
よく使うオプション
- start: 二分探索を開始
- good: 正常なコミットをマーク
- bad: バグがあるコミットをマーク
- reset: 二分探索を終了
使用例
git bisect start二分探索を開始git bisect bad HEAD現在のHEADをバグありとマークgit bisect good v1.0.0v1.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 で復元できる可能性があります。
