I am running into this problem on a rails app I am working on. I was working on a feature branch and wanted to rebase from the most recent master. I ran the following commands:<
There must be some process running in the background or some side-effect of executing the git commands in your shell that is modifying the Gemfile.lock.
I am not familiar with rvm's magic (although that sounds plausible); here are some other things to check:
spring stop
(or bin/spring stop
or bundle exec spring stop
) to gracefully terminate that process..git/hooks
directory.git
might be an alias in your shell for another command. Run alias
to see a list of shell aliases..bashrc
or .bash_profile
.There are times that running a rails command or other bundle exec command will silently update your Gemfile.lock. I am guessing you are doing that sometime in between your git commands. Or you have something weird installed that does that invisibly.
(Could rvm do this invisibly? I don't know. I think rvm does all kinds of odd stuff and don't use it.).
At any rate, the fact that this is happening is probably evidence of something else going on that isn't what you want -- are you sure the Gemfile and Gemfile.lock you are trying to commit together are actually compatible? Normally any time a Gemfile changes at all, it is wise to run bundle install to get a new Gemfile.lock. If you are trying to commit a Gemfile.lock which actually isn't compatible with the Gemfile... I am not sure why you would want to do that anyway, normally I want the Gemfile and Gemfile.lock in any given commit to be compatible.
To get a clue as to why something (mysterious) may be changing your Gemfile.lock, do a git diff on the Gemfile.lock to see how it's changed?