Git

Git restore入門|特定のファイルを以前の状態に戻す

Gitrestore取り消し

Git restore入門
特定のファイルを以前の状態に戻す

git restoreを使った作業ツリーやステージングエリアの変更の取り消し方法を解説します。

こんな人向けの記事です

  • ファイルの変更を元に戻したい人
  • ステージングを取り消したい人
  • git restoreの使い方を学びたい人

Step 1作業ツリーの変更を取り消す

まだステージングしていないファイルの変更を元に戻します。

ターミナル
# 特定のファイルを元に戻す
git restore ファイル名

# 全ファイルの変更を元に戻す
git restore .

注意: restoreで取り消した変更は元に戻せません。重要な変更が含まれていないか確認してから実行してください。

Step 2ステージングの取り消し

git addでステージングした変更を取り消します(ファイルの内容は変わりません)。

ターミナル
# 特定のファイルのステージングを取り消し
git restore --staged ファイル名

# 全ファイルのステージングを取り消し
git restore --staged .

Step 3特定のコミットの状態に戻す

ターミナル
# 特定のコミット時点の状態に戻す
git restore --source=コミットハッシュ ファイル名

# 1つ前のコミットの状態に戻す
git restore --source=HEAD~1 ファイル名

Step 4checkoutとの違い

コマンド用途
git restore ファイル名ファイルの変更を取り消す
git restore --staged ファイル名ステージングを取り消す
git checkout ブランチ名ブランチの切り替え

ポイント: Git 2.23以降、checkoutの機能はrestore(ファイル復元)とswitch(ブランチ切替)に分割されました。目的別に使い分けると分かりやすくなります。