逆引きインデックス

やりたいことからコマンドを探せます。

コミット関連

やりたいこと コマンド コピー
さっきのコミットをなかったことにしたい
変更はワーキングディレクトリに残る
git reset HEAD~1
さっきのコミットを完全に消したい
変更も消える。要注意!
git reset --hard HEAD~1
コミットメッセージを修正したい
直前のコミットのみ
git commit --amend -m "新メッセージ"
過去のコミットを取り消したい(履歴は残す)
打ち消しコミットが作成される
git revert <commit>
ファイルを追加し忘れたコミットを修正したい
直前のコミットに追加される
git add <file> && git commit --amend --no-edit

ステージング関連

やりたいこと コマンド コピー
間違えてaddしたファイルを外したい
ファイルの変更は残る
git reset HEAD <file>
すべてのaddを取り消したい
変更自体は残る
git reset HEAD
特定のファイルだけステージングしたい
パスを指定
git add <file>
変更の一部だけステージングしたい
インタラクティブに選択
git add -p

作業中の変更

やりたいこと コマンド コピー
編集中のファイルを元に戻したい
変更は失われる
git restore <file>
作業を一時退避したい
ブランチ切り替え前に便利
git stash
退避した作業を戻したい
最新の退避を復元
git stash pop
未追跡ファイルを全部消したい
要注意!元に戻せない
git clean -fd
ローカルをリモートと完全に同じにしたい
全ての変更が消える
git reset --hard origin/main

ブランチ関連

やりたいこと コマンド コピー
新しいブランチを作って移動したい
作成と移動を同時に
git switch -c <branch>
ブランチ名を変更したい
現在のブランチは -m <new> のみ
git branch -m <old> <new>
マージ済みブランチを削除したい
安全な削除
git branch -d <branch>
ブランチを強制削除したい
未マージでも削除
git branch -D <branch>
リモートブランチを削除したい
ローカルは残る
git push origin --delete <branch>
他ブランチの特定コミットだけ取り込みたい
コミットIDを指定
git cherry-pick <commit>

履歴・確認

やりたいこと コマンド コピー
簡潔にコミット履歴を見たい
1行表示
git log --oneline
ブランチの分岐を視覚的に見たい
グラフ表示
git log --oneline --graph
誰がいつ変更したか調べたい
行ごとの変更者
git blame <file>
resetで消したコミットを復旧したい
HEADの移動履歴
git reflog
2つのコミットの差分を見たい
コミットID指定
git diff <commit1> <commit2>

リモート関連

やりたいこと コマンド コピー
リモートの状態だけ確認したい
マージはしない
git fetch
リモートURLを変更したい
リポジトリ移行時
git remote set-url origin <url>
push先を間違えた
削除して再push
git push origin --delete <branch> && git push origin <correct-branch>