日常の開発でよく使われるGitの操作をまとめたものです。カテゴリ別に整理されているため、すぐに使い始めたい方や、コマンドを確認したい時に役立ちます。
📦 基本コマンド
コマンド
役割
git init
Gitリポジトリを初期化します(.gitフォルダを作成)。
git clone <url>
リモートリポジトリをローカルにクローンします。
git status
現在のワーキングディレクトリの状態(ファイルの変更、ステージングなど)を確認します。
git add <file>
ファイルをステージングエリアに追加します。
git commit -m "message"
ステージングエリアのファイルをローカルリポジトリにコミットし、コミットメッセージを追加します。
git log
コミット履歴を表示します。
🌱 ブランチ管理
コマンド
役割
git branch
ローカルブランチの一覧を表示します。
git branch <branch-name>
新しいブランチを作成します。
git checkout <branch-name>
指定したブランチに切り替えます。
git switch <branch-name>
指定したブランチに切り替えます(推奨される新しいコマンド)。
git merge <branch-name>
指定したブランチを現在のブランチにマージします。
git branch -d <branch-name>
マージ済みのブランチを削除します。
git branch -D <branch-name>
ブランチを強制的に削除します。
🌍 リモートリポジトリ操作
コマンド
役割
git remote -v
リモートリポジトリのURLを表示します。
git remote add <name> <url>
リモートリポジトリを追加します。
git pull
リモートリポジトリからコードを取得し、マージします。
git push
現在のブランチのコードをリモートリポジトリにプッシュします。
git push -u origin <branch-name>
ブランチをプッシュし、上流(追跡)ブランチを設定します。
git fetch
リモートリポジトリの最新データを取得しますが、自動マージは行いません。
git remote remove <name>
リモートリポジトリへの接続を削除します。
🔍 確認と比較
コマンド
役割
git diff
ワーキングディレクトリのステージングされていない変更を表示します。
git diff --staged
ステージングエリアの変更を表示します。
git log --oneline
コミット履歴を一行で簡潔に表示します。
git show <commit-id>
特定のコミットの詳細情報を表示します。
git blame <file>
ファイルの各行がどのコミットで変更されたかを表示します。
♻️ 取り消しと元に戻す
コマンド
役割
git checkout -- <file>
ワーキングディレクトリでのファイルの変更を取り消します。
git restore <file>
ファイルの変更を取り消します(新しいコマンド)。
git reset HEAD <file>
ファイルをステージングエリアからワーキングディレクトリに戻します。
git reset --soft <commit-id>
特定のコミットまで戻しますが、すべての変更は保持します。
git reset --mixed <commit-id>
コミットを戻し、ステージングエリアをクリアしますが、ワーキングディレクトリの変更は保持します。
git reset --hard <commit-id>
コミットを戻し、すべての変更を破棄します。
git revert <commit-id>
特定のコミットの内容を打ち消す新しいコミットを生成します。
🏷️ タグ管理
コマンド
役割
git tag
すべてのタグを表示します。
git tag <tag-name>
タグを作成します。
git tag -d <tag-name>
タグを削除します。
git push origin <tag-name>
指定したタグをプッシュします。
git push origin --tags
すべてのタグをリモートにプッシュします。
🗃️ Stash(一時保存)
コマンド
役割
git stash
コミットされていない現在の変更を一時的に保存します。
git stash list
すべてのスタッシュ記録を表示します。
git stash apply
最新のスタッシュの内容を復元します。
git stash drop
最新のスタッシュを削除します。
git stash pop
最新のスタッシュを復元し、削除します。
🛠️ その他の便利なコマンド
コマンド
役割
git config --global user.name "Your Name"
グローバルなユーザー名を設定します。
git config --global user.email "you@example.com"
グローバルなメールアドレスを設定します。
git config --list
現在のGit設定を表示します。
git clean -f
追跡されていないファイルを削除します。
git cherry-pick <commit-id>
特定のコミットを現在のブランチに適用します。
git rebase <branch>
現在のブランチを対象ブランチの上にリベースします。
🧪 よく使うブランチ操作の例
# PRブランチのコードを取得(例:GitHub Pull Request)
git fetch origin pull/376/head:pr-review
# テストブランチに切り替え
git checkout pr-review
# mainブランチに切り替え
git checkout main
# テストブランチをマージ
git merge pr-review
# 1つのコミットにまとめてマージ
git merge --squash pr-review
git commit -m "すべての変更をマージ"
# 特定のコミットまで戻す
git reset --hard <commit-id>
# ローカルブランチを削除
git branch -d pr-review
# ローカルブランチを強制削除
git branch -D pr-review
# リモートブランチを削除
git push origin --delete <branch-name>
# リモートブランチのキャッシュをクリーンアップ
git fetch -p
# リモートブランチを強制上書き
git push origin main --force
📚 参考文献
Gitを頻繁に使う方は、ぜひこの記事をブックマークして、いつでも参照できるようにしてください!また、あなたがよく使うGitのテクニックもぜひコメントで教えてください。