【git】reset or restoreどっちでstagedを解除する?

Technology

resetが良いかrestoreが良いか、ファイルひとつだけを戻す場合

git reset ファイル名

git restore –staged ファイル名

コマンド/オプションブランチの履歴ステージングエリア作業ディレクトリ変更の破棄
git reset –hard <コミットID>戻る戻る戻るする
git reset –mixed <コミットID> (デフォルト)戻る戻るそのまましない
git reset –soft <コミットID>戻るそのままそのまましない
git reset <ファイル名>変わらない解除されるそのまましない

git restore は、「ファイルを特定の状態に復元する」という目的が明確なコマンドです。

  • git restore <ファイル名>: 作業中の変更を破棄して、以前の状態に戻す(注意が必要)。
  • git restore --staged <ファイル名>: ステージングを解除するだけで、ファイル内容は変えない(比較的安全)。

git restore ファイル名は、変更内容も破棄してしまう
git reset –hard ファイル名は、変更内容も破棄してしま

stagedを解除するだけなら git resetで良いと思うけど
git restore –staged ファイル名が推奨のようですね

規模や作業状態によってリスクは変わりますが

  • git restore ファイル名 ( 1ファイルの内容が破棄される
  • git reset ( リポジトリのstaged全て解除される

どちらが大きなリスクか、何をしたいかによりますかね?

小規模で影響ファイルが少なければ内容の破棄がないのでgit resetが良いかなと個人的には思います

お気軽にコメントください!

スパム対応のためコメント認証に数日かかることがありますが、お気軽にコメントいただけると嬉しいです^^

コメント

タイトルとURLをコピーしました