Gitで変更を元に戻す方法【初心者向け】

Gitで変更を元に戻す方法【初心者向け】

投稿日: 2025年05月30日

Tips
要約
  • Git 2.23以降では、変更を元に戻すために「git restore」を使用することが推奨されている。
  • 新しく作成したファイルやフォルダを削除するには「git clean -fd」を使う必要がある。
  • 後輩には「git checkout .」ではなく「git restore .」を使うようアドバイスし、関連コマンドもセットで教えよう。

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に合った方法を伝えることで、より安全に、よりスムーズに開発が進むようになります。
ぜひ、後輩やチームにも「今の正しいやり方」を伝えてみてくださいね。

シェア!

Threads
user
さかした
おじさんでも学べる!をモットーに。 以前はRuby(3年)、今は React / Next.js を中心に、学習中。
Loading...
記事一覧に戻る
Threads
0