TortoiseGitでローカルコミットをリセット(取り消し)する方法について、初心者の方でも迷わないよう手順をまとめました。
Pushする前のローカルコミットを取り消したい場合の方法です。
Gitの「リセット」にはいくつか種類がありますが、主に「作業内容は残したいのか」「完全にコミット前の状態に戻したいのか」によって使い分けます。
1. コミットをリセットする基本手順
まずは、リセット画面を開くまでの共通手順です。
- 対象のプロジェクトフォルダを右クリックします。
- [TortoiseGit] > [ログを表示] を選択します。
- ログ一覧から、「戻したい地点(リセット先)」のコミットを右クリックします。
注意:リセットしたいコミットそのものではなく、その「一つ前」のコミットを選択するのが一般的です。 - [「(ブランチ名)」をここにリセット…] を選択します。

2. リセット方法(モード)の選び方
リセット画面の下部にある「リセットの種類」から、目的に合わせてモードを選択します。
A. Soft (ソフト)
- 状態: コミットだけが取り消され、変更したファイル内容はそのまま残ります。
- 用途: 「コミットメッセージを間違えた」「複数のコミットを一つにまとめたい」場合に最適です。
- 結果: ファイルは「ステージング(Index)」された状態になります。
B. Mixed (ミックス) ※デフォルト
- 状態: コミットが取り消され、ステージングも解除されますが、ファイルの内容は変わりません。
- 用途: 「一旦コミットしたけど、もう少し修正を加えてからやり直したい」場合に適しています。
- 結果: ファイルは「変更あり(未ステージング)」の状態になります。
C. Hard (ハード) 【注意!】
- 状態: 指定したコミット以降の変更を、すべて完全に破棄します。
- 用途: 「作業内容がめちゃくちゃになったので、完全に以前の状態まで巻き戻したい」場合に使います。
- 結果: 未コミットの作業内容はすべて消えるため、実行前に保存が必要か確認してください。
3. どの場合にどれを使う?クイック比較表
| やりたいこと | 推奨モード | ファイル内容 |
| メッセージだけ直して再コミットしたい | Soft | 維持される |
| 一部のファイルを修正してからやり直したい | Mixed | 維持される |
| 作業をすべて捨てて過去の状態に戻したい | Hard | 削除される |
💡知っておくと便利なポイント
- 直前のコミットメッセージ修正だけなら: リセットを使わなくても、次のコミット時に「コミット」画面で [直前のコミットを修正 (Amend Last Commit)] にチェックを入れるだけで修正可能です。
- リモートにプッシュ済みの場合は注意: すでに GitHub などのサーバーに Push してしまったコミットをリセットして再 Push すると、他のメンバーの環境と整合性が取れなくなる(コンフリクトの原因になる)ため、自分だけのブランチでない限りは慎重に行いましょう。