我在一个正在开发的Rails应用程序中遇到了这个问题。 我正在一个功能分支上工作,并希望从最新的主分支上变基。 我运行了以下命令:
$ git checkout master
$ git pull --rebase
如果我尝试回到我的功能分支进行结账,我会收到以下错误:
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: Gemfile.lock
我已尝试以下命令将Gemfile.lock文件还原为aster,但均未成功:
我已尝试以下命令将Gemfile.lock文件还原为aster,但均未成功:
$ git checkout -- Gemfile.lock
$ git stash
$ git reset HEAD --hard
每次我运行一个新的git命令,我都会回到Gemfile.lock文件,其中有未提交的更改。
以下是我正在使用的库的版本:
$ git --version => 2.3.3
$ bundler --version => 1.7.9
gem install bundler
以升级Bundler。Bundler 1.7.9存在一些错误,可能会在某些情况下导致Gemfile.lock
出现意外变化。这些错误已在更高版本中得到修复。至于仅运行git
命令时出现的原因,我认为Matt Brictson的答案是最好的。 - Tim Moore