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