Git コマンドチートシート 2026 - 開発者必携
Git コマンドチートシート 2026 - 開発者必携
日常的に使用するGitコマンドの完全ガイド。初心者から上級者まで使えるチートシート。
はじめに:Gitを使いこなすために
Gitは2026年現在、バージョン管理システムのデファクトスタンダードです。個人開発からエンタープライズ規模のプロジェクトまで、ほぼすべてのソフトウェア開発においてGitが使用されています。しかし、Gitのコマンドは非常に多く、すべてを覚えるのは困難です。
本チートシートでは、日常的に使用するGitコマンドをカテゴリ別に整理し、実践的な使い方とともに解説します。初心者の方は基本コマンドから、上級者の方は高度なテクニックのセクションから読み始めてください。
基本設定(初回セットアップ)
Gitを使い始める前に、まず基本的な設定を行いましょう。
ユーザー情報の設定
# ユーザー名の設定
git config --global user.name "あなたの名前"
# メールアドレスの設定
git config --global user.email "your-email@example.com"
# 設定内容の確認
git config --list
# 特定の設定値を確認
git config user.name
エディタとその他の設定
# デフォルトエディタの設定(VS Codeの場合)
git config --global core.editor "code --wait"
# デフォルトブランチ名をmainに設定
git config --global init.defaultBranch main
# 日本語ファイル名の文字化け防止
git config --global core.quotepath false
# 改行コードの自動変換設定(macOS/Linux)
git config --global core.autocrlf input
# カラー出力の有効化
git config --global color.ui auto
リポジトリの作成と取得
新規リポジトリの作成
# 現在のディレクトリをGitリポジトリとして初期化
git init
# 特定のディレクトリにリポジトリを作成
git init my-project
# ベアリポジトリの作成(サーバー用)
git init --bare my-project.git
既存リポジトリのクローン
# HTTPSでクローン
git clone https://github.com/user/repo.git
# SSHでクローン
git clone git@github.com:user/repo.git
# 特定のブランチのみクローン
git clone -b develop https://github.com/user/repo.git
# 浅いクローン(最新の履歴のみ、CI/CDで高速化に有用)
git clone --depth 1 https://github.com/user/repo.git
# 特定のディレクトリ名でクローン
git clone https://github.com/user/repo.git my-local-name
ステージングとコミット
変更の確認
# 作業ディレクトリの状態を確認
git status
# 簡略形式で表示
git status -s
# 変更内容の差分を表示(ステージングされていない変更)
git diff
# ステージングされた変更の差分を表示
git diff --staged
# 特定ファイルの差分を表示
git diff path/to/file.js
ステージング(インデックスへの追加)
# 特定ファイルをステージング
git add file.js
# 複数ファイルをステージング
git add file1.js file2.js file3.js
# 特定ディレクトリ以下のすべての変更をステージング
git add src/
# すべての変更をステージング(新規、変更、削除)
git add -A
# 変更されたファイルのみステージング(新規ファイルを除く)
git add -u
# パッチモード(変更の一部のみをステージング)
git add -p
コミット
# メッセージ付きでコミット
git commit -m "feat: ユーザー認証機能を追加"
# ステージングとコミットを同時に(追跡済みファイルのみ)
git commit -am "fix: ログイン時のバリデーションエラーを修正"
# 直前のコミットメッセージを修正
git commit --amend -m "fix: 正しいコミットメッセージ"
# 直前のコミットにファイルを追加(メッセージ変更なし)
git commit --amend --no-edit
# 空コミット(CI/CDのトリガーなどに使用)
git commit --allow-empty -m "chore: trigger CI build"
コミットメッセージの規約(Conventional Commits)
feat: 新機能の追加
fix: バグの修正
docs: ドキュメントの変更
style: フォーマットの変更(コードの動作に影響しない)
refactor: リファクタリング
perf: パフォーマンス改善
test: テストの追加・修正
chore: ビルドプロセスやツールの変更
ci: CI設定の変更
ブランチ操作
ブランチの確認と作成
# ローカルブランチの一覧表示
git branch
# リモートブランチも含めて一覧表示
git branch -a
# ブランチの詳細情報を表示
git branch -v
# 新しいブランチを作成
git branch feature/user-auth
# ブランチを作成して切り替え
git checkout -b feature/user-auth
# Git 2.23以降の推奨コマンド
git switch -c feature/user-auth
# 特定のコミットからブランチを作成
git branch feature/hotfix abc1234
ブランチの切り替え
# ブランチの切り替え
git checkout develop
# Git 2.23以降の推奨コマンド
git switch develop
# 前のブランチに戻る
git switch -
ブランチの削除
# マージ済みブランチの削除
git branch -d feature/old-feature
# 強制削除(未マージでも削除)
git branch -D feature/abandoned-feature
# リモートブランチの削除
git push origin --delete feature/old-feature
マージとリベース
マージ
# 現在のブランチにdevelopをマージ
git merge develop
# Fast-forwardを使わないマージ(マージコミットを必ず作成)
git merge --no-ff feature/user-auth
# マージを中止
git merge --abort
# コンフリクト解決後のマージ続行
git add .
git merge --continue
リベース
# 現在のブランチをmainの最新にリベース
git rebase main
# リベースを中止
git rebase --abort
# コンフリクト解決後のリベース続行
git add .
git rebase --continue
リモート操作
リモートリポジトリの管理
# リモートの一覧表示
git remote -v
# リモートを追加
git remote add origin https://github.com/user/repo.git
# リモートURLの変更
git remote set-url origin https://github.com/user/new-repo.git
# リモートの削除
git remote remove upstream
プッシュとプル
# 変更をプッシュ
git push origin main
# 上流ブランチを設定してプッシュ
git push -u origin feature/new-feature
# リモートの変更を取得してマージ
git pull origin main
# リベースでプル(マージコミットを作らない)
git pull --rebase origin main
# すべてのリモートから最新情報を取得(マージはしない)
git fetch --all
# リモートで削除されたブランチの参照を削除
git fetch --prune
ログと履歴
# コミット履歴を表示
git log
# 簡潔な一行表示
git log --oneline
# グラフ表示
git log --oneline --graph --all
# 特定ファイルの履歴
git log -- path/to/file.js
# 著者でフィルタ
git log --author="名前"
# 日付範囲でフィルタ
git log --since="2026-01-01" --until="2026-03-16"
# コミットメッセージで検索
git log --grep="fix"
# 変更内容で検索
git log -S "functionName"
# 直近5件のみ表示
git log -5
# 統計情報付き
git log --stat
変更の取り消し
ステージングの取り消し
# 特定ファイルのステージングを取り消し
git restore --staged file.js
# すべてのステージングを取り消し
git restore --staged .
# Git 2.23以前
git reset HEAD file.js
作業ディレクトリの変更を取り消し
# 特定ファイルの変更を取り消し(最後のコミット状態に戻す)
git restore file.js
# Git 2.23以前
git checkout -- file.js
コミットの取り消し
# 直前のコミットを取り消し(変更はステージングに保持)
git reset --soft HEAD~1
# 直前のコミットを取り消し(変更は作業ディレクトリに保持)
git reset --mixed HEAD~1
# コミットを打ち消す新しいコミットを作成(安全な方法)
git revert HEAD
# 特定のコミットを打ち消す
git revert abc1234
スタッシュ(一時退避)
# 変更を一時退避
git stash
# メッセージ付きで退避
git stash save "WIP: ユーザー認証の実装中"
# 未追跡ファイルも含めて退避
git stash -u
# スタッシュの一覧表示
git stash list
# 最新のスタッシュを適用(スタッシュは保持)
git stash apply
# 最新のスタッシュを適用して削除
git stash pop
# 特定のスタッシュを適用
git stash apply stash@{2}
# スタッシュの内容を確認
git stash show -p stash@{0}
# すべてのスタッシュを削除
git stash clear
タグ
# タグの一覧表示
git tag
# アノテーション付きタグの作成
git tag -a v1.0.0 -m "バージョン1.0.0リリース"
# 軽量タグの作成
git tag v1.0.0
# 特定のコミットにタグを付ける
git tag -a v1.0.0 abc1234 -m "バージョン1.0.0"
# タグをリモートにプッシュ
git push origin v1.0.0
# すべてのタグをプッシュ
git push origin --tags
高度なテクニック
Cherry-pick
# 特定のコミットを現在のブランチに適用
git cherry-pick abc1234
# 複数のコミットをcherry-pick
git cherry-pick abc1234 def5678
# コミットせずに変更のみ適用
git cherry-pick --no-commit abc1234
Bisect(バグの原因コミット特定)
# bisectの開始
git bisect start
# 現在の状態が「バグあり」と指定
git bisect bad
# 正常だったコミットを指定
git bisect good abc1234
# Gitが中間のコミットをチェックアウトするので、テストして結果を報告
git bisect good # または git bisect bad
# bisectの終了
git bisect reset
Worktree
# 新しいワークツリーを作成
git worktree add ../project-hotfix hotfix-branch
# ワークツリーの一覧
git worktree list
# ワークツリーの削除
git worktree remove ../project-hotfix
Git エイリアスの設定
頻繁に使うコマンドをエイリアスに設定して効率化しましょう。
# よく使うエイリアスの設定
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.lg "log --oneline --graph --all"
git config --global alias.unstage "restore --staged"
git config --global alias.last "log -1 HEAD"
git config --global alias.visual "!gitk"
.gitignore の設定
プロジェクトに不要なファイルを除外するための.gitignore設定例:
# 依存関係
node_modules/
vendor/
# ビルド成果物
dist/
build/
.next/
# 環境変数
.env
.env.local
.env.production
# IDE設定
.vscode/
.idea/
*.swp
*.swo
# OS生成ファイル
.DS_Store
Thumbs.db
# ログファイル
*.log
npm-debug.log*
トラブルシューティング
よくある問題と解決法
問題:マージコンフリクトが発生した
# コンフリクトのあるファイルを確認
git status
# エディタでコンフリクトを手動解決後
git add resolved-file.js
git commit -m "resolve: マージコンフリクトを解決"
問題:間違ったブランチにコミットしてしまった
# コミットを取り消し(変更は保持)
git reset --soft HEAD~1
# 正しいブランチに切り替え
git switch correct-branch
# コミット
git commit -m "正しいメッセージ"
問題:大きなファイルを誤ってコミットした
# 履歴からファイルを完全に削除(git-filter-repoを使用)
git filter-repo --path large-file.zip --invert-paths
まとめ
Gitは非常に多機能なツールですが、日常的に使用するコマンドは限られています。このチートシートを手元に置いて、必要なときにすぐ参照できるようにしておきましょう。
コマンドラインでの操作に慣れるまでは時間がかかりますが、基本的なワークフロー(clone → branch → add → commit → push → pull request)をまず覚えれば、チーム開発にスムーズに参加できます。
開発作業で正規表現を使う場面では正規表現テスターを、データの変換が必要な場合はBase64エンコーダーやJSONフォーマッターもぜひ活用してください。
Git操作に慣れてきたら、Linuxコマンドラインもマスターしましょう。詳しくはLinuxコマンドライン必須ガイドをご覧ください。