逆引きインデックス
やりたいことからコマンドを探せます。
コミット関連
| やりたいこと | コマンド | コピー |
|---|---|---|
|
さっきのコミットをなかったことにしたい 変更はワーキングディレクトリに残る |
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> |