「Visual Studioでコミットしたけど、間違えた!」 「コマンドライン使わずに、Visual Studioだけで取り消したい」 「プッシュ前なら簡単に戻せるって聞いたけど、どうやるの?」
Visual StudioのGit統合機能は本当に優秀で、コミットの取り消しもマウス操作だけでできるんです。黒い画面でコマンドを打つ必要はありません!
この記事では、Visual Studio 2022とVisual Studio Codeの両方で、コミットを取り消す方法を画面イメージと共に解説します。ローカルの取り消しから、プッシュ済みの対処まで、すべてGUIで完結させましょう。
Visual Studioを使えば、Git操作への恐怖心から解放されます。さあ、安心してコミットできる環境を作りましょう!
Visual Studio 2022でコミットを取り消す

基本画面の確認
Git Changes ウィンドウを開く:
- メニューバー → 表示 → Git 変更
- または、右下のブランチ名をクリック → Git 変更
- ショートカット:
Ctrl + 0, Ctrl + G
Git Changes ウィンドウの構成:
┌─────────────────────────┐
│ Git 変更 │
├─────────────────────────┤
│ 現在のブランチ: main │
├─────────────────────────┤
│ [コミット][すべて...]│
├─────────────────────────┤
│ 変更 (3) │
│ ├ Program.cs │
│ ├ README.md │
│ └ config.json │
└─────────────────────────┘
方法1:直前のコミットを取り消す(Reset)
手順:
- Git リポジトリ ウィンドウを開く
- 表示 → Git リポジトリ
- または
Ctrl + 0, Ctrl + R
- 履歴を表示
- 「受信」「送信」「ローカル履歴」タブから「ローカル履歴」を選択
- コミット履歴が表示される
- 取り消したいコミットを右クリック
- 直前のコミットを右クリック
- メニューが表示される
- リセット方法を選択
- 「リセット」→ 以下から選択:
- 「変更を保持 (–mixed)」:コミットを取り消し、変更は残る
- 「変更を保持 (–soft)」:コミットを取り消し、ステージング状態で残る
- 「変更を削除 (–hard)」:コミットも変更も完全に削除
- 「リセット」→ 以下から選択:
推奨: 通常は「変更を保持 (–mixed)」を選択
方法2:特定のコミットを打ち消す(Revert)
より安全な方法:
- Git リポジトリ ウィンドウで履歴表示
- 取り消したいコミットを右クリック
- 「元に戻す」を選択
- 新しいコミットが作成される
- 履歴は残る(安全)
- コミットメッセージを確認
- 自動生成:
Revert "元のコミットメッセージ"
- 必要なら編集
- 自動生成:
- 「元に戻すコミットの作成」をクリック
方法3:コミット前の変更を取り消す
ステージングした変更を取り消す:
- Git 変更ウィンドウ
- ステージング済みファイルの「-」アイコンをクリック
- または、「すべてステージング解除」
変更自体を破棄:
- 変更ファイルを右クリック
- 「変更を元に戻す」を選択
- 警告ダイアログで「はい」
Visual Studio Codeでコミットを取り消す
ソース管理パネルの基本操作
ソース管理を開く:
- サイドバーの3番目のアイコン(分岐マーク)
- または
Ctrl + Shift + G
方法1:コミットの取り消し(Undo Last Commit)
最も簡単な方法:
- ソース管理パネルを開く
- 「…」メニュー(その他の操作)をクリック
- 「コミット」→「最後のコミットを元に戻す」
- 完了!変更はステージング状態に戻る
方法2:Git Graphエクステンションを使う
インストール:
- 拡張機能タブ(
Ctrl + Shift + X
) - 「Git Graph」を検索
- インストール
使い方:
- Git Graphを開く
- ソース管理パネルのグラフアイコン
- またはコマンドパレット:「Git Graph: View Git Graph」
- ビジュアルに履歴を確認
● (HEAD -> main) Latest commit │ ● Previous commit ← これを取り消したい │ ● Initial commit
- コミットを右クリック
- Reset → Soft/Mixed/Hard を選択
- または Revert Commit
方法3:GitLensエクステンションで高度な操作
GitLensのインストール:
- 拡張機能で「GitLens」検索
- インストール
Interactive Rebase Mode:
- GitLensサイドバーを開く
- Commits → 履歴表示
- 編集したいコミットを右クリック
- 「Interactive Rebase…」
- ドラッグ&ドロップで並び替えや削除
プッシュ済みコミットの取り消し(GUI操作)

Visual Studio 2022の場合
Force Pushが必要な場合:
- ローカルでコミットを取り消し
- 上記の方法でReset実行
- 強制プッシュ設定を有効化
- ツール → オプション
- ソース管理 → Git グローバル設定
- 「Enable push –force-with-lease」にチェック
- Git 変更ウィンドウ
- 「プッシュ」の横の矢印
- 「強制プッシュ」を選択
- 警告を確認して実行
Revertを使う(推奨):
- Git リポジトリウィンドウ
- 取り消したいコミットを右クリック
- 「元に戻す」
- 通常通りプッシュ
Visual Studio Codeの場合
Force Push:
- ターミナルを開く
- 表示 → ターミナル
- または
Ctrl + `
- GUIからはできないのでコマンド使用
git push --force-with-lease origin main
または、Git Graph使用:
- Git Graphでリモートブランチを右クリック
- 「Push Branch… → Force With Lease」
状況別クイックガイド
シナリオ1:コミットメッセージを間違えた
Visual Studio 2022:
- Git リポジトリ → 最新コミットを右クリック
- 「コミットの修正」
- メッセージを編集
- 「修正」をクリック
VS Code:
- ソース管理 → 「…」
- 「コミット → 最後のコミットを修正」
シナリオ2:ファイルを追加し忘れた
両方共通:
- 忘れたファイルをステージング
- 「コミットの修正」オプションを使用
- 前のコミットに含められる
シナリオ3:間違ったブランチにコミット
Visual Studio 2022:
- Git リポジトリで履歴確認
- コミットを右クリック → 「チェリーピック」
- 正しいブランチに切り替え
- 「チェリーピックの適用」
- 元のブランチでReset
VS Code:
- Git Graphで視覚的に確認
- Cherry-pickまたはRebaseで修正
Team Explorer(旧版)での操作
Visual Studio 2019以前
Team Explorerを使用:
- チームエクスプローラーを開く
- 表示 → チームエクスプローラー
- 変更を表示
- ホーム → 変更
- 操作メニュー
- アクション → 履歴の表示
- コミットの取り消し
- コミットを右クリック
- 「元に戻す」または「リセット」
トラブルシューティング
エラー:「リセットできません」
原因: 未コミットの変更がある
解決方法:
- 現在の変更をコミットまたはスタッシュ
- Visual Studio:Git 変更 → 「すべてスタッシュ」
- リセット実行
- スタッシュを復元
プッシュが拒否される
エラー: rejected - non-fast-forward
Visual Studio 2022での解決:
- Git 変更 → プル(最新を取得)
- マージまたはリベース
- 再度プッシュ
変更が消えた!
復元方法:
Visual Studio 2022:
- Git リポジトリ → 「すべてのブランチ」
- 「履歴の検索」
- reflogに相当する操作を確認
VS Code:
- ターミナルで
git reflog
- 復元したいコミットのハッシュをコピー
- Git Graphでそのコミットまでreset
ベストプラクティス

Visual Studioでの推奨設定
Git グローバル設定:
- ツール → オプション → ソース管理
- 以下を設定:
- ☑ コミット後に変更をプル
- ☑ コミット時に未追跡ファイルを確認
- ☑ Push前にコミットを確認
便利な拡張機能(VS Code)
必須の拡張機能:
- Git Graph – ビジュアルな履歴表示
- GitLens – 詳細なGit情報
- Git History – ファイル単位の履歴
コミット前の確認習慣
Visual Studio 2022:
- Git 変更で差分を確認
- 「すべての変更を表示」で詳細確認
VS Code:
- ソース管理でファイルをクリック
- 差分ビューで確認
緊急時のリカバリー方法
すべてを元に戻したい
Visual Studio 2022:
- Git → Git リポジトリのリセット
- 「ハードリセット」を選択
- リセット先のコミットを選択
VS Code:
- コマンドパレット(
F1
) - 「Git: Clean All」
- すべての変更を破棄
バックアップブランチの作成
常に安全策を:
Visual Studio 2022:
1. Git 変更 → ブランチの管理
2. 「新しいブランチ」
3. backup-YYYYMMDD と命名
4. 作業後、不要なら削除
よくある質問
Q1:Visual StudioとVS Codeどっちがいい?
A:
- Visual Studio 2022:.NET開発なら最強、Git機能も充実
- VS Code:軽量で拡張機能が豊富、Web開発向き
- Git操作はVisual Studio 2022の方が高機能
Q2:コマンドを覚える必要はある?
A: 基本操作はGUIで十分ですが、トラブル時はコマンドが必要な場合も。 最低限これだけ:
git status
– 状態確認git log
– 履歴確認git reflog
– 操作履歴
Q3:チーム開発での注意点は?
A:
- プッシュ済みは基本的にRevert使用
- Force pushは事前にチームに連絡
- ブランチ保護ルールを設定
Q4:Stashって何?
A: 一時的に変更を退避する機能:
- Visual Studio:Git 変更 → スタッシュ
- 後で「スタッシュの適用」で復元
- ブランチ切り替え時に便利
まとめ
Visual StudioでのGitコミット取り消しは、すべてGUI操作で完結できます!
覚えておくべき3つの方法:
- 🟢 ローカルなら自由に取り消し
- Reset(履歴から消す)
- Revert(打ち消しコミット)
- 🟡 プッシュ済みは慎重に
- 基本はRevert
- Force pushは最終手段
- 🔵 予防が一番大事
- コミット前に差分確認
- ブランチ戦略を守る
- バックアップブランチ作成
Visual Studioの素晴らしいところは、Git操作の怖さを取り除いてくれること。視覚的に履歴が見え、クリック操作で取り消しができる。
コマンドラインが苦手でも大丈夫。Visual StudioのGUI機能を使いこなせば、プロフェッショナルなGit操作ができます。
さあ、恐れずにコミットしましょう。間違えても、この記事の方法で必ず元に戻せます!
コメント