[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 の下でライセンスされています。
