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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。