如何在不回滚所有更改的情况下回滚最近的捆绑更新?

时间:2017-04-17 13:33:53

标签: ruby-on-rails git bundler gemfile

我有我的rails项目我正在一个单独的分支上工作。我在添加新模型,架构更改等方面做了很多更改,但最近我添加了bundle update而不是bundle install来添加新的gem。我也没有锁定我的宝石版本(我应该这样做),它更新了很多版本。这最终破坏了很多东西。如何在不丢失所有其他"其他"我的分支发生了变化?

我最初的想法是从我的master分支gem锁定文件中查找所有版本号,然后将它们添加到分支中的现有gemfile并重做更新以将其回滚。但也许这不是我应该做的事情?谢谢!

1 个答案:

答案 0 :(得分:0)

首先,使用gitk或类似内容查找最后一次提交" good"您Gemfile.lock的版本。

然后,git checkout $COMMIT Gemfile.lock会将该文件重置为commit $COMMIT中的版本。当然,如果你也攻击那个,请重复Gemfile

顺便说一句,您通常 手动锁定Gemfile中宝石的版本,这就是Gemfile.lock的用途。