git-command-line-exercises-80
git-command-line-exercises-80 copied to clipboard
git reset と git restoreの使い分けについて教えてください。
質問
git reset と git restoreの使い分けについて教えてください。
質問場所と質問内容
演習24「変更を取り消す②」の記述について質問させてください。
P124「②ステージングを元に戻す」で、ステージングされている変更を元に戻す場合は"git reset HEAD"を使うように記述されています。一方で、同じページ内の"git status"コマンドの出力では、
(use "git restore --staged <file>..." to unsage)
と表示されており、ステージングを元に戻す際には、"git restore"コマンドを使用するように読めます。"git restore"ではなく、"git reset"を使用する利点はどのようなものでしょうか。ご教示いただけますと助かります。
よろしくお願いします。
補足事項
本書籍を取り組んでいる中で自分自身も気になったため、確認できた範囲で共有します。(P.125までの知識です。) 追跡対象のファイルを更新した後、git storeした場合とgit resetした場合、以下の違いがありました。
- git storeした場合
- 更新したファイルの変更が取り消される。
- echo "任意のメッセージ" >> <ファイル名>で追記したファイルへの更新内容が取り消されました。
- git resetした場合
- 追跡対象の状態からuntracked filesの状態になりました。git statusで確認しました。