さかした
Gitで変更を元に戻す方法【初心者向け】
2025年05月31日
要約を生成中...
〜git checkout . を教えてしまったあなたへ〜
はい、これは私です。先程、これを伝えてしまった。そして、自分がアップデートできていなかったことに気付きました・・・
Gitを使っていると、「やっぱりこの変更いらなかったな」「試しに作ったファイル、全部消したい」と思うことってありますよね。
私自身、過去に後輩から「変更を元に戻したいときって、どうすればいいですか?」と聞かれたことがあって、そのときは迷わずこう答えました。
「
git checkout .を使えば戻せるよ!」
確かにこの方法、以前はよく使われていたんです。でも、今はちょっと違うんです。
昔は「git checkout .」が定番だった
git checkout . は、作業ディレクトリの変更をすべて取り消すコマンドです。つまり、Gitが管理しているファイル(=Trackedファイル)の変更をなかったことにして、最後にコミットした状態に戻してくれます。
一見便利なんですが、実はこのコマンド、「ブランチを切り替える」コマンドと同じだったため、初心者には少しややこしかったんですよね。
今は「git restore」が主流
そんな背景もあり、Git 2.23以降では、新しいコマンドが登場しました。それが…
git restore
このコマンド、目的がとても明確です。「restore=元に戻す」という意味の通り、変更を戻したいときに使うべきコマンドです。
使い方はシンプル
すべての変更を元に戻す場合:
git restore .特定のファイルだけ戻したい場合:
git restore ファイル名
これだけでOK。checkout よりも断然わかりやすいですよね。
新しく作ったファイルやフォルダも消したいときは?
「restoreで戻したけど、なんかファイルやフォルダが残ってる…」
そんな経験はありませんか?
実は、git restore では**新しく作ったファイルやフォルダ(Untracked)**は削除されません。
その場合は、次のコマンドを使います。
まずは削除対象を確認
git clean -fdn
これは「何が削除されるか」を表示するだけの安全なコマンドです。削除はされません。
実際に削除する場合
git clean -fd
-fは「force(強制)」-dは「ディレクトリも含める」
と覚えておきましょう。
編集も追加もまとめて全部戻したいなら?
「変更した内容も、新しく作ったファイルも、全部まとめてなかったことにしたい!」
そんなときは、この2つをセットで実行します。
git restore .
git clean -fdこれで、作業前のまっさらな状態に戻せます。
✅ やりたいことと、それに対応するおすすめコマンド一覧
編集した内容をすべて元に戻したい(Gitで管理されているファイル)
→git restore .特定のファイルだけを元に戻したい
→git restore ファイル名新しく作ったファイルやフォルダ(まだGitで管理されていないもの)を削除したい
→git clean -fd削除する前に何が消えるのかを確認したい
→git clean -fdn編集も追加も全部まるごと一気に元に戻したい
→git restore .のあとにgit clean -fd
最後に:後輩にこう教えてみてください
「昔は
git checkout .を使ってたけど、今はgit restore .のほうがわかりやすくておすすめだよ。あと、試しに作ったファイルとかはgit clean -fdで消せるから、セットで使うと便利だよ!」
今のGitに合った方法を伝えることで、より安全に、よりスムーズに開発が進むようになります。
ぜひ、後輩やチームにも「今の正しいやり方」を伝えてみてくださいね。

