N
nob@lit-forge
Git コマンド 早見表
日常開発で使う Git コマンドを用途別にまとめた早見表。branch / merge / rebase / stash / reset / cherry-pick など、覚えづらいコマンドの違いと安全な使い方を実例付きで。トラブル時の「やり直し」コマンド集も収録。
#Git#コマンド#バージョン管理
初期化・クローン
git init # 新規リポジトリ git clone <url> # リモートからクローン git clone <url> dir # dir 名でクローン git remote add origin <url> # リモート先を追加
状態確認
git status # 作業ツリーの状態 git status -s # 短縮表示 git diff # 未ステージの差分 git diff --staged # ステージ済みの差分 git log --oneline -20 # 履歴(1 行、20 件) git log --graph --oneline --all # グラフ表示
コミット
git add <path> # ステージング git add -p # 部分的にステージ(対話式) git commit -m "message" # コミット git commit --amend # 直前のコミットを修正 git commit --amend --no-edit # メッセージ維持で変更だけ取り込み
ブランチ
git branch # ブランチ一覧 git branch -a # リモート含む全部 git branch <name> # 作成 git switch <name> # 切替(新しい構文) git switch -c <name> # 作成 + 切替 git branch -d <name> # 削除(マージ済みのみ) git branch -D <name> # 強制削除
マージ・リベース
git merge <branch> # マージ git merge --no-ff <branch> # Fast-Forward を防ぐ git rebase <branch> # リベース(履歴を線形化) git rebase -i HEAD~3 # インタラクティブリベース(最近 3 件) git rebase --abort # 中止 git rebase --continue # 競合解消後に続行
リモートとの同期
git fetch # 取得(マージしない) git pull # fetch + merge git pull --rebase # fetch + rebase(履歴をきれいに) git push # プッシュ git push -u origin <branch> # 初回プッシュ(追跡設定) git push --force-with-lease # 安全な強制プッシュ
stash(一時退避)
git stash # 作業中の変更を退避
git stash -u # 未追跡ファイルも含む
git stash list # 退避一覧
git stash pop # 最新 stash を適用 + 削除
git stash apply stash@{"{2}"} # 指定 stash を適用
git stash drop stash@{"{0}"} # 削除cherry-pick(特定コミットだけ取り込み)
git cherry-pick <commit> # 単一コミット git cherry-pick <c1>..<c2> # 範囲 git cherry-pick --abort # 中止
やり直し・取り消し
git restore <path> # 未ステージの変更を破棄 git restore --staged <path> # ステージングを解除 git reset --soft HEAD~1 # 直前コミットだけ取消(変更は残す) git reset --mixed HEAD~1 # 取消 + アンステージ(デフォルト) git reset --hard HEAD~1 # 取消 + 変更も破棄(危険) git revert <commit> # 打ち消しコミットを作成(公開ブランチ向き)
タグ
git tag v1.0.0 # 軽量タグ git tag -a v1.0.0 -m "release" # 注釈付きタグ git tag # 一覧 git push origin v1.0.0 # 単一タグを push git push origin --tags # 全タグを push git tag -d v1.0.0 # ローカル削除 git push origin :refs/tags/v1.0.0 # リモート削除
配置ミスの救済
- 間違えてコミット:
git reset --soft HEAD~1(変更はステージに残る) - 間違えて push した内容を消したい: 公開ブランチなら
git revertを使う - force push の代わりに:
--force-with-lease(他人の push を巻き込まない安全版) - コミット履歴から削除したい機密ファイル:
git filter-repo(履歴書き換え。チーム合意必須) - 消したブランチを復活したい:
git reflogで SHA を特定し、git branch name <SHA>