checkout
コマンドを使います。以下は使用例です。
git checkout 4d1c4e4~1 --
4d1c4e4
時の変更にこのファイルの変更が含まれています。含まれているのでここに戻っても変更直後に戻るだけになってしまうので~1
により、「4d1c4e4
の1つ前」を指定しています。
変更を無かったことにするコマンドがgit checkout [HEAD] -- <file_path>
なので、考えてみれば同じ動作ですね。
ちなみに、複雑な変更であれば、
git checkout --patch 4d1c4e4~1 --
とすれば、塊ごとに戻すかどうか決めることが出来ます。(--patch
は-p
にもできます)