gitで変更した内容をなかったことにする
Railsのプロジェクトでどの段階でバグが混入したかわからないため古いバージョンの動作確認をしていってるのですが、その際にGemfile.lockが変更されたため、その変更を無視して別のブランチにcheckoutしようとしています。
ですがどうすれば変更をなかったことにして別のブランチにcheckoutできるかがわかりませんでした。
こちらを英語版の回答を参考にして
https://stackoverflow.com/questions/52704/how-do-you-discard-unstaged-changes-in-git
% git stash save --keep-index
% git stash drop
や
git checkout -- .
を試してみましたが、
% git checkout xxxxxxx
error: Your local changes to the following files would be overwritten by checkout:
Gemfile.lock
Please, commit your changes or stash them before you can switch branches.
Aborting
になってしまいます。
どうすれば変更部分をなかったことにしてbranchの切り替えができるのでしょうか。
現在はとりあえずプロジェクト自体を別の場所に一時作業のためにcloneしておいて、その中でGemfile.lockなどが変更されてしまった時は適当な名前でcommitして別のブランチに切り替えています。