2011-05-25 27 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

相關問題