コンテンツにスキップ

Git コマンド大全(git-master)

このページは git の主要コマンドを、git help -a の分類に沿って 中級者向けに整理したものです。

  • porcelain: 日常運用で直接使う高水準コマンド
  • plumbing: 内部処理向けの低水準コマンド
  • ancillary / interaction: 補助・連携用途のコマンド
  • conflicts: 競合ファイル一覧を抽出するエイリアス
  • current-hash: 現在コミットの短縮 SHA を表示
  • current-hash-long: 現在コミットの完全 SHA を表示
  • lg: グラフ付きログを見やすく表示
  • rlog: reflog を日時付きで確認
  • add: 変更を index に追加
  • am: メール形式のパッチを適用
  • archive: 指定ツリーからアーカイブ生成
  • bisect: 二分探索で不具合混入コミットを特定
  • branch: ブランチ一覧・作成・削除
  • bundle: オブジェクトと参照を 1 ファイルで搬送
  • checkout: ブランチ切替やファイル復元(旧来)
  • cherry-pick: 既存コミットを現在ブランチへ適用
  • citool: git commit の GUI フロントエンド
  • clean: 追跡外ファイルを削除
  • clone: リポジトリを新規取得
  • commit: index の内容を履歴へ記録
  • describe: 到達可能な直近タグでコミットを説明
  • diff: 差分表示(作業ツリー・index・コミット間)
  • fetch: リモートからオブジェクトと参照を取得
  • format-patch: メール送信用パッチ列を生成
  • gc: 不要オブジェクト回収と最適化
  • grep: Git 管理下ファイルへパターン検索
  • gui: Git のポータブル GUI 起動
  • init: 新規リポジトリ作成
  • log: コミット履歴表示
  • maintenance: メンテナンス処理を実行
  • merge: 履歴を統合
  • mv: ファイル移動・改名(index 追従)
  • notes: オブジェクト注釈を追加・参照
  • pull: fetch + merge/rebase を実行
  • push: ローカル参照をリモートへ反映
  • range-diff: 2 つのコミット範囲差分を比較
  • rebase: 変更を新しい基点へ載せ替え
  • reset: HEAD・index・作業ツリーを指定状態へ戻す
  • restore: index/作業ツリーの内容を復元
  • revert: 打ち消しコミットを新規作成
  • rm: index と作業ツリーから削除
  • shortlog: 履歴を作者単位で要約
  • show: オブジェクト詳細表示
  • sparse-checkout: スパースチェックアウト設定
  • stash: 未コミット変更を退避・復元
  • status: 作業ツリー状態確認
  • submodule: サブモジュール管理
  • subtree: サブツリー取り込み・分離
  • switch: ブランチ切替専用コマンド
  • tag: タグ作成・一覧・削除・検証
  • worktree: 複数作業ツリー管理
  • config: Git 設定の取得・更新
  • fast-export: 履歴を高速エクスポート
  • fast-import: fast-import 形式を取り込み
  • filter-branch: 履歴書き換え(古い手法)
  • mergetool: 外部マージツールで競合解消
  • pack-refs: refs を圧縮して効率化
  • prune: 到達不能オブジェクトを削除
  • reflog: 参照更新履歴を管理
  • remote: リモート定義を管理
  • repack: pack ファイル再構築
  • replace: オブジェクト置換参照を管理
  • blame: 行ごとの最終更新コミットと作者を追跡
  • bugreport: バグ報告用の環境情報収集
  • count-objects: 非 pack オブジェクト数と容量を確認
  • verify-commit: コミット署名検証
  • verify-tag: タグ署名検証
  • version: Git バージョン表示
  • whatchanged: 差分付き履歴表示(log 系の旧コマンド)
  • archimport: Arch リポジトリ取り込み
  • cvsexportcommit: 単一コミットを CVS へ書き出し
  • cvsimport: CVS リポジトリを Git へ取り込み
  • cvsserver: CVS 互換サーバを Git 上で提供
  • imap-send: パッチ群を IMAP フォルダへ送信
  • quiltimport: quilt パッチセット適用
  • request-pull: 取り込み依頼用サマリー生成
  • send-email: パッチ群をメール送信
  • svn: Subversion との双方向連携
  • apply: パッチをファイル/index へ適用
  • checkout-index: index から作業ツリーへ展開
  • commit-graph: commit-graph ファイル作成・検証
  • commit-tree: ツリーから commit オブジェクト作成
  • hash-object: オブジェクト ID 計算と blob 作成
  • index-pack: pack インデックス作成
  • merge-file: 3-way ファイルマージ
  • merge-index: マージ対象ファイルへ低水準マージ実行
  • mktag: 検証付きで tag オブジェクト作成
  • mktree: ls-tree 形式テキストから tree 作成
  • multi-pack-index: MIDX 作成・検証
  • pack-objects: オブジェクトを pack 化
  • prune-packed: pack 済み重複オブジェクト削除
  • read-tree: tree 情報を index へ読み込み
  • symbolic-ref: シンボリック参照の読取・更新
  • unpack-objects: pack からオブジェクト展開
  • update-index: 作業ツリー内容を index へ登録
  • update-ref: 参照が指すオブジェクト名を安全更新
  • write-tree: index から tree オブジェクト生成
  • cat-file: オブジェクト内容・型情報を表示
  • cherry: upstream 未取り込みコミット検出
  • diff-files: 作業ツリーと index を比較
  • diff-index: index とリポジトリの blob/mode 比較
  • diff-tree: 2 つの tree の差分比較
  • for-each-ref: 各 ref 情報を列挙
  • for-each-repo: リポジトリ群へ同一コマンドを実行
  • get-tar-commit-id: git archive tar から commit ID 抽出
  • ls-files: index / 作業ツリーのファイル情報表示
  • ls-remote: リモート参照一覧表示
  • ls-tree: tree オブジェクト内容表示
  • merge-base: 最良共通祖先を探索
  • name-rev: リビジョンへ人間向け名前を付与
  • pack-redundant: 重複 pack 検出
  • rev-list: コミット列挙
  • rev-parse: 引数解釈とリビジョン解決
  • show-index: pack インデックス表示
  • show-ref: ローカル参照一覧表示
  • unpack-file: blob 内容を一時ファイルへ展開
  • var: Git 論理変数表示
  • verify-pack: pack ファイル整合性検証
  • daemon: シンプルな Git サーバ起動
  • fetch-pack: リモートから不足オブジェクト受信
  • http-backend: Git over HTTP サーバ側実装
  • send-pack: Git プロトコルでオブジェクト送信
  • update-server-info: dumb サーバ向け補助情報更新
  • http-fetch: HTTP 経由で取得
  • http-push: HTTP/DAV 経由で push
  • parse-remote: リモートアクセス引数解析補助
  • receive-pack: push 受信側処理
  • shell: Git 専用制限シェル
  • upload-archive: git archive 応答
  • upload-pack: fetch 用 pack 送信
  • check-attr: gitattributes 情報表示
  • check-ignore: gitignore 判定デバッグ
  • check-mailmap: mailmap 正規化結果を表示
  • check-ref-format: 参照名フォーマット検証
  • column: 出力を列整形
  • fmt-merge-msg: マージコミットメッセージ生成
  • mailinfo: メールからパッチ・作者情報抽出
  • mailsplit: mbox を複数ファイルへ分割
  • merge-one-file: merge-index 用標準ヘルパー
  • patch-id: パッチの一意 ID 算出
  • stripspace: 空行・空白整形
  1. statusaddcommitlogdiff
  2. branch / switch / merge / rebase
  3. fetch / pull / push / remote
  4. reflog / reset / restore / revert
  5. 必要時に plumbing を参照