Gems from git repositories
Bundler adds the ability to use gems directly from git repositories. Setting them up is as easy as adding a gem to your Gemfile. Using the very latest version of a gem (or even a fork) is just as easy as using an official release.
Because RubyGems lacks the ability to handle gems from git, any gems installed from a git repository will not show up in
gem list. They will, however, be available after running
Specify that a gem should come from a git repository with a .gemspec at its root
gem "nokogiri", :git => "https://github.com/tenderlove/nokogiri.git"
If there is no .gemspec at the root of a git repository, you must specify a version that bundler should use when resolving dependencies
gem "deep_merge", "1.0", :git => "https://github.com/peritor/deep_merge.git"
Specify that a git repository containing multiple .gemspec files should be treated as a gem source
git "https://github.com/rails/rails.git" do gem "railties" gem "action_pack" gem "active_model" end
Specify that a git repository should use a particular ref, branch, or tag
:git => "https://github.com/rails/rails.git", :ref => "4aded" :git => "https://github.com/rails/rails.git", :branch => "2-3-stable" :git => "https://github.com/rails/rails.git", :tag => "v2.3.5"
Specifying a ref, branch, or tag for a git repository specified inline works exactly the same way
gem "nokogiri", :git => "https://github.com/tenderlove/nokogiri.git", :ref => "0eec4"
Bundler can use HTTP(S), SSH, or git
gem 'nokogiri', :git => 'https://github.com/tenderlove/nokogiri.git' gem 'nokogiri', :git => 'email@example.com:tenderlove/nokogiri.git' gem 'nokogiri', :git => 'git://github.com/tenderlove/nokogiri.git'
git://URLs are insecure, and should be avoided if at all possible. These protocols are unauthenticated, so a man-in-the-middle attacker can tamper with the code and compromise your system.