投稿

[GitHub 100日チャレンジ] Day 64 - Git Restoreでファイルを戻す

git restoreで作業中のファイルを戻す方法、stageを外す方法、resetとの違いを整理します。

[GitHub 100日チャレンジ] Day 64 - Git Restoreでファイルを戻す

git restoreとは

git restoreは、ファイル単位で変更を戻すための命令です。以前は git checkout -- file がよく使われましたが、現在は役割が分かりやすい restore を使えます。

1
2
git restore file.js
git restore --staged file.js

Working Directoryを戻す

1
2
git diff file.js
git restore file.js

これは未コミットの変更を捨てます。消す前に git diff で内容を確認しましょう。

stageを外す

1
2
git add app.js
git restore --staged app.js

--stagedはstageから外すだけです。ファイルの中身は残ります。

特定コミットから戻す

1
2
git restore --source=abc1234 -- src/app.js
git restore --source=main -- src/styles/

過去のコミットや別ブランチから、特定ファイルだけ取り出せます。

resetとの違い

  • restore: ファイルを戻す
  • reset: コミットやstageの状態を動かす
  • revert: 共有済みの変更を新しいコミットで打ち消す

今日のゴール

ファイルの変更を捨てるときは git restore、stageを外すときは git restore --staged を使えるようにしましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。