恢复为基于提交的gem版本

时间:2013-08-14 19:32:10

标签: ruby-on-rails ruby git gem

三天前我把它添加到我的Gemfile中:

gem 'bootstrap-sass', git: 'https://github.com/thomas-mcdonald/bootstrap-sass', branch: '3'

今天我跑了bundle update,宝石得到了更新,结果很多测试都被打破了。

有没有办法可以恢复到三天前的宝石?我可以查看提交,但我不知道是否可以回到某个提交。

3 个答案:

答案 0 :(得分:3)

Gemfile.lock存储使用的修订版本,因此如果您在三天前查看代码,请查看。看起来应该是这样的:

GIT
  remote: git://github.com/datamapper/dm-core.git
  revision: 7cc4c145329e81d8b373a37694d050aa197c3699
  branch: release-1.2
  specs:
    dm-core (1.2.1)
      addressable (~> 2.3, >= 2.3.5)

只需使用上述:branch SHA替换当前Gemfile中的revision,然后运行bundle install

答案 1 :(得分:2)

您可以将Gemfile指向Git仓库的特定提交/分支/标记:

gem 'rails', :git => 'git://github.com/rails/rails.git', :ref => '4aded'
gem 'rails', :git => 'git://github.com/rails/rails.git', :branch => '2-3-stable'
gem 'rails', :git => 'git://github.com/rails/rails.git', :tag => 'v2.3.5'

不要忘记重新运行bundle install

来源:Bundler git docs

答案 2 :(得分:1)

如果此更新包含在某个提交中,您只需通过'git revert'命令与该提交相反

git revert <that commit hash>