add したファイルをステージから外したい。実行後もステージに残っている。正しいのは?
git restore app.js正答
- git restore --source=HEAD app.js
- git rm --cached app.js
- git restore --staged app.js
- git reset --hard app.js
解説
git restore app.js は作業ツリーのファイルをステージの内容に戻す操作で、ステージ自体は変わらない(しかも未保存の編集が消える)。ステージから外すだけなら git restore --staged app.js(古い書き方は git reset HEAD app.js)。--source=HEAD は作業ツリーを HEAD の内容に戻すだけでステージは残る。git rm --cached は追跡そのものを外して削除予定にする。reset --hard にパスは渡せずエラーになる。
参考: git-scm.com
この問題を含む Git のテストを制限時間つきで解く
Gitクイズへ