Gemfile:github参考中branch和ref之间的区别

时间:2014-11-04 15:26:15

标签: ruby bundler gemfile

Gemfile 中,可以引用github上托管的gem:

gem 'spree', github: 'spree/spree', branch: '2-3-stable'
gem 'spree_gateway', github: 'spree/spree_gateway', ref: '2-1-stable'

Gemfile manpage描述了git的三个属性: branch ref tag refbranch之间有什么区别? Bundler如何根据属性以不同方式处理gem?

这尤其有趣,因为您一次只能使用其中一个属性。

1 个答案:

答案 0 :(得分:5)

使用branch,您只需指定要从中获取的git分支。如果您在定位分支时执行了bundle up <gem>,则会更新到该分支的提示。

ref确实将其归结为个人提交。你不会给人类可读的&#34;就像你在问题中所做的那样,你可以这样做:

gem 'something', github: 'someone/something', ref: '832e76a9'

现在你已将它固定在那个参考号上了。如果你做了bundle up something,它就不会改变那个gem(它可能会更新它的依赖关系)。