Git の “discard changes” は、作業ディレクトリ内の変更を破棄して、最後にコミットした状態に戻す処理です。
具体的な処理内容
1. 変更されたファイルの場合
- 編集した内容が削除され、HEAD(最新のコミット)の状態に戻ります
git restore <ファイル名>またはgit checkout -- <ファイル名>と同等の処理
2. 新規作成したファイルの場合
- 追跡されていない(untracked)ファイルは、通常の discard では削除されません
git cleanコマンドを使う必要があります
3. ステージングエリアの変更
git addでステージングした変更も破棄できますgit restore --staged <ファイル名>でステージングを解除してから、作業ディレクトリの変更を破棄します
注意点
⚠️ この操作は元に戻せません
- ローカルの変更は完全に失われます
- コミットしていない作業は復元できなくなります
実行例
# 特定のファイルの変更を破棄
git restore example.txt
# すべての変更を破棲
git restore .
# ステージングした変更も含めて破棄
git restore --staged --worktree example.txt
多くのGUIツール(VS Code、GitHub Desktop など)では、「Discard Changes」ボタンを押すとこれらのコマンドが内部で実行されます。
No responses yet