2011-05-25 62 views
135

我使用的是rails_admin,并且由于处于非常活跃的开发阶段,所以偶尔会出现错误。如何从github获得一个特定的“提交”宝石?

就我所知,gem没有任何版本,对于github中的gem,所以我不能在Gemfile中使用:version键作为gem声明。

有没有一种方法可以将一个特定的提交(我知道对我来说工作正常)“绑定”到Gemfile?

我现在有在我的Gemfile:

gem 'rails_admin', 
    :git => 'git://github.com/sferik/rails_admin.git' 

我希望能够做这样的事情(例如 “commit_id”):

gem 'rails_admin', 
    :git => 'git://github.com/sferik/rails_admin.git', 
    :commit_id => "4e7d53e3c5c4c3c5c43c3" 

这是可以做到与GitHub的?

回答

240

任何这些应该工作:

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' 

来源:Bundler and Git

+0

的': ref'就是我需要的..谢谢! – Zabba 2011-05-25 06:16:25

+44

仅供参考:':ref'将用于提交,分支和标签。 – 2011-05-25 08:01:35

+0

只是因为它们(和'.git/HEAD')都是git中的参考:)。更多:https://git-scm.com/book/en/v2/Git-Internals-Git-References – medik 2017-05-09 12:04:40

57

一个较短的版本:

gem 'rails', :github => 'rails/rails', :ref => '4aded' 

或者,在Ruby中1.9+

gem 'rails', github: 'rails/rails', ref: '4aded' 
+0

不错,当我们升级 - 这一个帮助很多 – 2015-12-30 01:24:09

+0

并设置github默认源https: 'git_source(:github)do | repo_name | repo_name =“#{repo_name} /#{repo_name}”除非repo_name.include?(“/”) “https://github.com/#{repo_name}.git” end' – Dorian 2017-01-16 23:46:27

相关问题