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して別のブランチに切り替えています。