「間違えてコミットしちゃった!取り消したい…」
GitHubを使い始めると、誰もが一度はぶつかる問題です。
この記事では、GitHubのコミットを取り消す3つの方法を初心者向けにわかりやすく解説します。

状況に応じて使い分ければ大丈夫!まずは一番安全な方法から覚えましょう。
- この記事でわかること
-
- コミットを安全に取り消す3つの方法
- push前とpush後の対処法の違い
- VSCodeでの操作方法
- よくあるミスと対処法
方法1:git revert(push済みでも安全)
迷ったらこれ! push済みのコミットを安全に取り消せる方法です。
git revert は、指定したコミットの変更を「打ち消す」新しいコミットを作成します。履歴が残るので、いつでも元に戻せます。
# 直前のコミットを取り消す
git revert HEAD
# エディタを開かずに実行
git revert HEAD --no-edit

revertは「元のコミットを消す」のではなく「逆の変更を加える」だけなので、チーム開発でも安心です。
- revertを使うべき場面
-
- push済みのコミットを取り消したい
- チーム開発で安全に取り消したい
- 履歴を残しておきたい
方法2:git reset –soft(push前のコミットに)
push前のコミットなら、git reset で取り消せます。
# コミットだけ取り消し(変更はステージングに残る)
git reset --soft HEAD~1
–softを使えば、ファイルの変更はそのまま残ります。コミットメッセージを書き直したいときに便利です。
# コミットを取り消してメッセージを修正
git reset --soft HEAD~1
git commit -m "正しいコミットメッセージ"
- 注意
-
- `git reset –hard` を使うと**ファイルの変更も消えます**。基本的に –soft を使いましょう。
方法3:VSCodeで取り消す(GUI操作)
コマンドを使わなくても、VSCodeのGUIで簡単に取り消せます。
ソース管理パネルを開く
左サイドバーの「ソース管理」アイコンをクリック
コミットを取り消す
「…」メニュー → 「コミット」→ 「直前のコミットを元に戻す(Undo Last Commit)」を選択

VSCodeの「Undo Last Commit」は `git reset –soft HEAD~1` と同じ動作です。変更は消えないので安心!
push前とpush後の使い分け
| 状況 | おすすめの方法 | 理由 |
|---|---|---|
| push前 | git reset –soft | コミットだけ取り消してやり直せる |
| push済み | git revert | 履歴を残して安全に取り消せる |
| GUI派 | VSCode Undo | コマンド不要で簡単 |
- 絶対NG
-
- push済みのコミットに `git reset` は使わないでください。チームメンバーの作業に影響が出ます。
よくある質問
間違えてresetしてしまった場合
git reflog で操作履歴を確認すれば復元できます。
git reflog
# 復元したい状態のIDを確認
git reset --hard <復元したいID>
複数のコミットを取り消したい
# 直近3つをrevert
git revert HEAD~3..HEAD --no-edit
Git操作をもっと学ぶなら
- 関連記事
-
- [git reset・git revertの詳しい使い方](/blog/3427/)
- [git stashの使い方・作業を一時保存する方法](/blog/3408/)
- [git mergeのコンフリクト解決方法](/blog/3410/)
- [VSCodeのターミナルの使い方](/blog/3406/)
Git・プログラミングを体系的に学ぶなら
独学で限界を感じていませんか?プロのカリキュラムなら最短でスキルが身につきます。
※無料体験・無料カウンセリングあり
まとめ:迷ったらgit revertを使おう
- この記事のポイント
-
- **push済み** → `git revert` で安全に取り消し
- **push前** → `git reset –soft` でやり直し
- **GUI派** → VSCodeの「Undo Last Commit」
- 困ったら `git reflog` で復元できる
コミットの取り消しは、一度覚えてしまえば怖くありません。まずは git revert だけ覚えておけばOKです!

コメント