はじめに
作業中に、まだインデックスに登録していない作業ツリーのファイルを
HEADの状態に戻したいことがあります。
そこでためしに、git reset --hard HEAD -- [任意のfilename]
とやったところ
fatal: Cannot do hard reset with paths.
と怒られました。
このような場合の対処について説明します。
対処法
git reset
コマンドの場合、--mixed
、--hard
、--soft
のオプションを使用すると
引数には、<commit>
しか指定できません。
そのため、特定のファイルのみを過去のある時点に戻す場合はgit checkout
を利用します。
例えばファイルtest_file.txt
をHEADの状態に戻す場合は、下記のように実施します。
$ git checkout HEAD -- test_file.txt