【发布时间】:2017-04-17 13:33:52
【问题描述】:
我有我的 Rails 项目,我正在一个单独的分支上工作。我对添加新模型、架构更改等进行了很多更改,但我最近做了一个bundle update 而不是bundle install 来添加一个新的gem。我也没有锁定我的 gem 版本(我可能应该这样做)并且它更新了许多到最新版本。这最终破坏了很多东西。如何在不丢失分支中所有“其他”更改的情况下回滚这些更改?
我最初的想法是从我的master 分支 gem 锁定文件中查找所有版本号,然后将它们添加到分支中我现有的 gemfile 并重做更新以回滚它们。但也许这不是我应该做的?谢谢!
【问题讨论】:
-
如果 gem 更新被隔离为单个提交,您可以使用 cherry picking 绕过错误提交。否则,您应该将版本约束添加到 gemfile 并再次运行
gem update以获得正确的依赖关系。 -
@max,好的,谢谢。我想我会继续通过查看
master分支 gem 锁定文件并编辑我现有的 gem 文件来获取版本号。看来我过去应该这样做。 -
如果你只是抓住
Gemfile.lock表单master并做了bundle install,难道没有帮助吗?我认为您无需限制Gemfile中的版本即可将内容回滚到以前的状态。 -
@BoraMa,哦,这是个好主意,我会试试的,谢谢!
标签: ruby-on-rails git bundler gemfile