1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

作業ブランチを元に戻したい?git checkout .とgit cleanの使い分けを解説!

Posted at

はじめに

「間違えてファイルを編集してしまった…」
「不要なファイルを追加してしまった…」
そんなとき、Git には変更をまるっと元に戻す便利なコマンドがあります。

この記事では、以下2つのコマンドを例付きで解説します。

  • git checkout .編集内容の取り消し
  • git clean新しく追加されたファイルの削除

作業中にこんな状態になったとき…

$ git status

Changes not staged for commit:
  modified:   src/index.js

Untracked files:
  temp.txt
  dist/

やってしまった!

  • src/index.js を変えすぎた…
  • temp.txtdist/ は生成ファイルでいらない…

git checkout .:編集だけを元に戻す

$ git checkout .

📌 これは ステージされていない変更(編集)をすべて破棄 します。

  • modified 状態のファイルを元に戻す
  • untracked なファイル(Git管理外の新規ファイル)は対象外

🔍 たとえば src/index.js だけが初期状態に戻ります。

git clean:未追跡ファイルを削除する

$ git clean -fd
オプション 説明
-f force(削除を明示的に許可)
-d ディレクトリも削除対象に

📌 これは Git に追加されていないファイル・フォルダを一括削除 します。

  • temp.txtdist/ のような untracked ファイルを削除
  • ❌ Git 管理下のファイルには影響しない

補足:実行前の安全確認 --dry-run

$ git clean -fd --dry-run

👀 実際に削除されるファイルを確認できます(削除は行われません)。

両方を使えば「まっさら」状態に

$ git checkout .
$ git clean -fd

これで以下のような状態に戻ります:

  • 編集したファイル:元通り
  • 新規で追加したファイル:削除

まとめ

やりたいこと コマンド
編集をすべて取り消したい git checkout .
未追跡ファイルを削除したい git clean -fd
削除されるファイルを事前に確認したい git clean -fd --dry-run
編集も未追跡ファイルも全部戻したい git checkout . && git clean -fd

「とりあえず元に戻したい!」ときの最終兵器セットがこれ。
でも本当に戻していいか、--dry-run で一度確認するのを忘れずに!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?