git-command-line-exercises-80 icon indicating copy to clipboard operation
git-command-line-exercises-80 copied to clipboard

git reset と git restoreの使い分けについて教えてください。

Open m0sq1t0 opened this issue 2 years ago • 1 comments

質問

git reset と git restoreの使い分けについて教えてください。

質問場所と質問内容

演習24「変更を取り消す②」の記述について質問させてください。

P124「②ステージングを元に戻す」で、ステージングされている変更を元に戻す場合は"git reset HEAD"を使うように記述されています。一方で、同じページ内の"git status"コマンドの出力では、 (use "git restore --staged <file>..." to unsage) と表示されており、ステージングを元に戻す際には、"git restore"コマンドを使用するように読めます。"git restore"ではなく、"git reset"を使用する利点はどのようなものでしょうか。ご教示いただけますと助かります。

よろしくお願いします。

補足事項

m0sq1t0 avatar Jun 24 '22 06:06 m0sq1t0

本書籍を取り組んでいる中で自分自身も気になったため、確認できた範囲で共有します。(P.125までの知識です。) 追跡対象のファイルを更新した後、git storeした場合とgit resetした場合、以下の違いがありました。

  • git storeした場合
    • 更新したファイルの変更が取り消される。
    • echo "任意のメッセージ" >> <ファイル名>で追記したファイルへの更新内容が取り消されました。
  • git resetした場合
    • 追跡対象の状態からuntracked filesの状態になりました。git statusで確認しました。

gtkmr avatar Dec 18 '23 14:12 gtkmr