本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。
第5回 | git restore で変更を戻す方法と Git 基本ワークフローの総まとめ | 残す流れと戻す流れをやさしく整理する|UNIX Cafe

Git 入門 | 第5回
Git を使っていると、「試しに直してみたけれど、やっぱり元に戻したい」という場面が必ず出てきます。変更を残す方法と同じくらい、戻す方法を知っておくことが大切です。
今回はシリーズの最終回として、git restore で変更を戻す基本を見たあと、これまで学んできた流れを通して整理します。個別のコマンドがひとつの流れとしてつながると、Git の使い方がぐっと安定してきます。
📝 この記事で学べること
git restoreが役立つ場面と使い方- 戻す前に確認する流れ
--stagedでaddを取り消す方法- 初心者がつまずきやすいポイントと対処
- 残す流れと戻す流れを通して見た Git の基本ワークフロー
git restore | 未記録の変更を元に戻す
今回扱うのは、まだ commit していない変更を元に戻したい場面です。編集してみたけれどやっぱりやめたい、余計な変更が混ざってしまった、そういうときに git restore が使えます。
git restore notes/today.txtこのコマンドを実行すると、指定したファイルが最後に commit した状態へ戻ります。編集した内容は消えるので、「本当に戻してよいか」を確認してから使うことが大切です。
戻す前に確認する流れ
Git では「見てから進む」という考え方が一貫して大切です。戻すときも例外ではありません。いきなり git restore を実行するのではなく、まず今の状態を確認してから判断する習慣をつけましょう。
git statusで変更があるファイルを確認するgit diffで変更の中身を見る- 本当に戻してよいと判断してから
git restoreする
git statusgit diffgit restore notes/today.txtこの 3 ステップを踏むだけで、必要な変更まで消してしまうミスをかなり防げます。
git restore –staged | add を取り消す
git add してしまったあとに「やっぱりこのファイルは今回の commit に含めたくない」と気づいた場合は、--staged をつけて add を取り消せます。
git restore --staged notes/today.txtこれはファイルの内容を変えるわけではありません。「記録候補から外す」だけの操作です。ファイルの編集内容はそのまま残ります。
| コマンド | 何をするか | ファイルの中身 |
|---|---|---|
git restore ファイル名 | 編集を取り消して元に戻す | 変更前の状態に戻る |
git restore --staged ファイル名 | add を取り消す | 編集内容はそのまま残る |
初心者がつまずきやすいポイント
戻したら編集内容が消えた
git restore は元に戻す操作なので、それ以降に加えた編集は消えます。この操作は取り消せません。実行前に git diff で中身を確認し、本当に戻してよいかを判断してから使いましょう。
add を取り消したいのに内容まで消えた
--staged をつけ忘れて git restore ファイル名 を実行すると、編集内容ごと消えてしまいます。add だけを取り消したい場合は git restore --staged ファイル名 を使います。迷ったときは先に git status で状態を確認してから判断しましょう。
commit 済みの変更は git restore では戻せない
今回扱った git restore は、まだ commit していない変更を対象にしています。commit 済みの変更を戻す方法は別のコマンドになりますが、入門段階ではまずここだけ覚えれば十分です。
Git の基本ワークフローを通して見る
ここまでのシリーズで学んできたコマンドを、実際の作業の流れとしてつなげて整理します。Git の操作は大きく「残す流れ」と「戻す流れ」の 2 つに分けて考えると分かりやすいです。
残す流れ
git status
git diff
git add notes/today.txt
git diff --staged
git commit -m "メッセージ"
git log --oneline戻す流れ
git status
git diff
git restore notes/today.txtどちらの流れも、最初に git status で状態を確認するところから始まります。迷ったときはまずここへ戻る、という習慣がそのまま両方の流れの入口になっています。
各コマンドの役割をまとめる
| コマンド | 役割 | 使うタイミング |
|---|---|---|
git status | 全体の状態を見る | 何かする前・迷ったとき |
git diff | 変更の中身を見る | add の前 |
git add | 今回残したい変更を選ぶ | commit の前 |
git diff --staged | 記録予定の内容を確認する | commit の直前 |
git commit | 履歴として残す | 内容を確認したあと |
git log | 履歴をたどる | 記録後・振り返るとき |
git restore | 未記録の変更を戻す | 編集をやり直したいとき |
この表を頭に入れておくと、Git で迷ったときに「今はどの段階にいるのか」を考えやすくなります。
シリーズを終えて
このシリーズでは、Git を難しいコマンドの集まりとしてではなく、「変更を安全に扱うための流れ」として見ることを大切にしてきました。
状態を見る。中身を確認する。必要な変更を選ぶ。記録する。見返す。必要なら戻す。この流れがつかめれば、Git 入門としての土台はできています。vi で直し、Git で残す。このつながりが見えてくると、日々の作業はかなり安定してきます。
まずは小さな変更で何度か試しながら、流れに慣れていきましょう。
もう一度、はじめからゆっくりと
ここまで読み進めてきた今、もう一度最初の回に戻ってみてください。
はじめは少し手探りに感じた操作も、きっと違った景色に見えてくるはずです。
Git は、一度で身につけるものではなく、何度か流れを行き来しながら、少しずつ手に馴染んでいく道具です。
最初の一歩に戻ることは、後退ではありません。それは、理解を確かなものにするための大切な一歩です。
👉 もう一度、第1回から読み直してみましょう。





