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(ブランチ切替)に分割されました。目的別に使い分けると分かりやすくなります。