git restore の使い方

変更を取り消す

書き方

git restore ファイル
git restore --staged ファイル
git restore --source=コミット ファイル

作業ツリーの変更を捨てて元に戻します。--staged はステージから下ろす(作業ツリーは残る)。

よく使うオプション

オプション意味
--stagedステージから下ろす(作業ツリーの変更は残る)
--worktree作業ツリーを戻す(付けないときと同じ)
--source=コミットそのコミットのときの中身に戻す
-p戻す部分を少しずつ選ぶ

例

$ git restore index.html

index.html のまだステージしていない変更を捨てて、ステージ(またはコミット)の中身に戻します。

$ git restore --staged secret.env

間違って add したファイルをステージから下ろします。ファイルの中身はそのまま残ります。

$ git restore --source=HEAD~2 style.css

style.css だけを 2 つ前のコミットの中身に戻します。ほかのファイルは変わりません。

$ git restore .

今のディレクトリより下の、まだステージしていない変更をすべて捨てます。

よくある間違い・注意

  • --staged を付けずに打つと、作業ツリーの変更が消えて戻せません。消してよいか git diff で確かめてから打ちます。
  • 古い説明では git checkout -- ファイル と書かれていることがあります。働きは同じですが、restore のほうが間違えにくいです。

実際に打って練習する

Git コースの Lv8「取り消す git restore」で覚えます(第1章 はじめての記録)。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜10 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Git コマンド一覧(使い方と例)へ戻る