diff options
Diffstat (limited to 'v1.3/git.html')
-rw-r--r-- | v1.3/git.html | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/v1.3/git.html b/v1.3/git.html deleted file mode 100644 index b7de7bc6df..0000000000 --- a/v1.3/git.html +++ /dev/null @@ -1,203 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>Bundler: The best way to manage a Ruby application's gems</title> - <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'> - <meta content='276VSYOko8B8vIu1i8i5qbj7_ql5PXo0dU69XQy-SL' name='globalsign-domain-verification'> - <link href='/images/favicon.png' rel='shortcut icon' type='image/png'> - <link href="/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" /> - </head> - <body> - <div id='body'> - <div id='header'> - <a class="image" href="/"><img width="725" alt="The best way to manage your application's dependencies" src="/images/gembundler.png" /></a> - </div> - <div id='container'> - <div id='contents'> - <h2>Gems from git repositories</h2> - <div class='contents'> - <div class='bullet'> - <div class='description'> - 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. - </div> - <div class='description'> - Because Rubygems lacks the ability to handle gems from git, any gems - installed from a git repository will not show up in <code>gem list</code>. - They will, however, be available after running <code>Bundler.setup</code>. - </div> - </div> - <div class='bullet'> - <div class='description'> - Specify that a gem should come from a git - repository with a .gemspec at its root - </div> - <pre class="highlight ruby"><span class="n">gem</span> <span class="s1">'nokogiri'</span><span class="p">,</span> <span class="ss">:git</span> <span class="o">=></span> <span class="s1">'https://github.com/tenderlove/nokogiri.git'</span>
</pre> - </div> - <div class='bullet'> - <div class='description'> - If there is no .gemspec at the root of - a git repository, you must specify a version - that bundler should use when resolving - dependencies - </div> - <pre class="highlight ruby"><span class="n">gem</span> <span class="s1">'deep_merge'</span><span class="p">,</span> <span class="s1">'1.0'</span><span class="p">,</span> <span class="ss">:git</span> <span class="o">=></span> <span class="s1">'https://github.com/peritor/deep_merge.git'</span>
</pre> - </div> - <div class='bullet'> - <div class='description'> - Specify that a git repository containing - multiple .gemspec files should be treated - as a gem source - </div> - <pre class="highlight ruby"><span class="n">git</span> <span class="s1">'https://github.com/rails/rails.git'</span> <span class="k">do</span>
 <span class="n">gem</span> <span class="s1">'railties'</span>
 <span class="n">gem</span> <span class="s1">'action_pack'</span>
 <span class="n">gem</span> <span class="s1">'active_model'</span>
<span class="k">end</span>
</pre> - </div> - <div class='bullet'> - <div class='description'> - Specify that a git repository should use - a particular ref, branch, or tag - </div> - <pre class="highlight ruby"><span class="ss">:git</span> <span class="o">=></span> <span class="s1">'https://github.com/rails/rails.git'</span><span class="p">,</span> <span class="ss">:ref</span> <span class="o">=></span> <span class="s1">'4aded'</span>
<span class="ss">:git</span> <span class="o">=></span> <span class="s1">'https://github.com/rails/rails.git'</span><span class="p">,</span> <span class="ss">:branch</span> <span class="o">=></span> <span class="s1">'2-3-stable'</span>
<span class="ss">:git</span> <span class="o">=></span> <span class="s1">'https://github.com/rails/rails.git'</span><span class="p">,</span> <span class="ss">:tag</span> <span class="o">=></span> <span class="s1">'v2.3.5'</span>
</pre> - </div> - <div class='bullet'> - <div class='description'> - Specifying a ref, branch, or tag for a - git repository specified inline works - exactly the same way - </div> - <pre class="highlight ruby"><span class="n">gem</span> <span class="s1">'nokogiri'</span><span class="p">,</span> <span class="ss">:git</span> <span class="o">=></span> <span class="s1">'https://github.com/tenderlove/nokogiri.git'</span><span class="p">,</span> <span class="ss">:ref</span> <span class="o">=></span> <span class="s1">'0eec4'</span>
</pre> - </div> - <div class='bullet'> - <div class='description'> - Bundler can use HTTP(S), SSH, or git - </div> - <pre class="highlight ruby"><span class="n">gem</span> <span class="s1">'nokogiri'</span><span class="p">,</span> <span class="ss">:git</span> <span class="o">=></span> <span class="s1">'https://github.com/tenderlove/nokogiri.git'</span>
<span class="n">gem</span> <span class="s1">'nokogiri'</span><span class="p">,</span> <span class="ss">:git</span> <span class="o">=></span> <span class="s1">'git@github.com:tenderlove/nokogiri.git'</span>
<span class="n">gem</span> <span class="s1">'nokogiri'</span><span class="p">,</span> <span class="ss">:git</span> <span class="o">=></span> <span class="s1">'git://github.com/tenderlove/nokogiri.git'</span>
</pre> - </div> - <div class='bullet'> - <div class='description'> - If you are getting your gems from a public GitHub repository, - you can use the shorthand - </div> - <pre class="highlight ruby"><span class="n">gem</span> <span class="s1">'nokogiri'</span><span class="p">,</span> <span class="ss">:github</span> <span class="o">=></span> <span class="s1">'tenderlove/nokogiri'</span></pre> - <div class='description'> - If the repository name is the same as the GitHub account hosting it, - you can omit it - </div> - <pre class="highlight ruby"><span class="n">gem</span> <span class="s1">'rails'</span><span class="p">,</span> <span class="ss">:github</span> <span class="o">=></span> <span class="s1">'rails'</span></pre> - <div class='description'> - <b>NB:</b> This shorthand is insecure in versions of Bundler prior to 2.0! Use HTTPS instead - </div> - <pre class="highlight ruby"><span class="n">gem</span> <span class="s1">'rails'</span><span class="p">,</span> <span class="ss">:git</span> <span class="o">=></span> <span class="s1">'https://github.com/rails/rails'</span></pre> - <div class='description'> - Alternatively, you can specify a full commit hash - </div> - <pre class="highlight ruby"><span class="n">gem</span> <span class="s1">'rails'</span><span class="p">,</span> <span class="ss">:github</span> <span class="o">=></span> <span class="s1">'rails'</span><span class="p">,</span> <span class="ss">:ref</span> <span class="o">=></span> <span class="s1">'a9752dcfd15bcddfe7b6f7126f3a6e0ba5927c56'</span>
</pre> - </div> - </div> - <h2>Security</h2> - <div class='contents'> - <div class='bullet'> - <div class='description'> - <code>http://</code> and <code>git://</code> 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. - Note that the <code>:github</code> shortcut translates to a <code>git://</code> - URL in pre-2.0 versions. - </div> - </div> - </div> - <h2 id='local'>Local Git Repos</h2> - <div class='contents'> - <div class='bullet'> - <div class='description'> - Bundler also allows you to work against a git repository locally - instead of using the remote version. This can be achieved by setting - up a local override: - </div> - <pre class="highlight plaintext">bundle config local.GEM_NAME /path/to/local/git/repository
</pre> - </div> - <div class='bullet'> - <div class='description'> - For example, in order to use a local Rack repository, a developer could call: - </div> - <pre class="highlight plaintext">bundle config local.rack ~/Work/git/rack</pre> - <div class='description'> - and setup the git repo pointing to a branch: - </div> - <pre class="highlight ruby"><span class="n">gem</span> <span class="s1">'rack'</span><span class="p">,</span> <span class="ss">:github</span> <span class="o">=></span> <span class="s1">'rack/rack'</span><span class="p">,</span> <span class="ss">:branch</span> <span class="o">=></span> <span class="s1">'master'</span>
</pre> - </div> - <div class='bullet'> - <div class='description'> - <p> - Now instead of checking out the remote git repository, the local - override will be used. Similar to a path source, every time the local - git repository change, changes will be automatically picked up by - Bundler. This means a commit in the local git repo will update the - revision in the <code>Gemfile.lock</code> to the local git repo revision. This - requires the same attention as git submodules. Before pushing to - the remote, you need to ensure the local override was pushed, otherwise - you may point to a commit that only exists in your local machine. - </p> - <p> - Bundler does many checks to ensure a developer won't work with - invalid references. Particularly, we force a developer to specify - a branch in the <code>Gemfile</code> in order to use this feature. If the branch - specified in the <code>Gemfile</code> and the current branch in the local git - repository do not match, Bundler will abort. This ensures that - a developer is always working against the correct branches, and prevents - accidental locking to a different branch. - </p> - <p> - Finally, Bundler also ensures that the current revision in the - <code>Gemfile.lock</code> exists in the local git repository. By doing this, Bundler - forces you to fetch the latest changes in the remotes. - </p> - </div> - </div> - <div class='bullet'> - <div class='description'> - <p>If you do not want bundler to make these branch checks, you can override it by setting this option:</p> - </div> - <pre class="highlight plaintext">bundle config disable_local_branch_check true</pre> - </div> - </div> - </div> - </div> - </div> - <div id='footer'> - <img src="/images/emocow.png" /> - <img src="/images/panda.jpg" /> - <div class='spacer'></div> - <div id='credits'> - <p> - Many thanks to Bundler's <a href="/contributors.html">contributors</a> - and <a href="/sponsors.html">sponsors</a> - </p> - </div> - <div class='spacer'></div> - <img src="/images/bundler-small.png" /> - </div> - <a href='http://github.com/bundler/bundler/' id='github'> - <img alt='Fork me on GitHub' src='http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png'> - </a> - <div id='prod-versions'> - Docs: - <a href="/v0.9/">v0.9</a> - <a href="/v1.0/">v1.0</a> - <a href="/v1.1/">v1.1</a> - <a href="/v1.2/">v1.2</a> - <a class="current" href="/v1.3/">v1.3</a> - <a href="/v1.5/index.html">v1.5</a> - <a href="/">v1.6</a> - </div> - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', 'UA-39559982-1', 'bundler.io'); - ga('send', 'pageview'); - </script> - </body> -</html> |