github.com/trevoraustin/hub@v2.2.0-preview1.0.20141105230840-96d8bfc654cc+incompatible/man/hub.1.html (about)

     1  <!DOCTYPE html>
     2  <html>
     3  <head>
     4    <meta http-equiv='content-type' value='text/html;charset=utf8'>
     5    <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
     6    <title>hub(1) - git + hub = github</title>
     7    <style type='text/css' media='all'>
     8    /* style: man */
     9    body#manpage {margin:0}
    10    .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
    11    .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
    12    .mp h2 {margin:10px 0 0 0}
    13    .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
    14    .mp h3 {margin:0 0 0 4ex}
    15    .mp dt {margin:0;clear:left}
    16    .mp dt.flush {float:left;width:8ex}
    17    .mp dd {margin:0 0 0 9ex}
    18    .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
    19    .mp pre {margin-bottom:20px}
    20    .mp pre+h2,.mp pre+h3 {margin-top:22px}
    21    .mp h2+pre,.mp h3+pre {margin-top:5px}
    22    .mp img {display:block;margin:auto}
    23    .mp h1.man-title {display:none}
    24    .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
    25    .mp h2 {font-size:16px;line-height:1.25}
    26    .mp h1 {font-size:20px;line-height:2}
    27    .mp {text-align:justify;background:#fff}
    28    .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
    29    .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
    30    .mp u {text-decoration:underline}
    31    .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
    32    .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
    33    .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
    34    .mp b.man-ref {font-weight:normal;color:#434241}
    35    .mp pre {padding:0 4ex}
    36    .mp pre code {font-weight:normal;color:#434241}
    37    .mp h2+pre,h3+pre {padding-left:0}
    38    ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
    39    ol.man-decor {width:100%}
    40    ol.man-decor li.tl {text-align:left}
    41    ol.man-decor li.tc {text-align:center;letter-spacing:4px}
    42    ol.man-decor li.tr {text-align:right;float:right}
    43    </style>
    44  </head>
    45  <!--
    46    The following styles are deprecated and will be removed at some point:
    47    div#man, div#man ol.man, div#man ol.head, div#man ol.man.
    48  
    49    The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
    50    .man-navigation should be used instead.
    51  -->
    52  <body id='manpage'>
    53    <div class='mp' id='man'>
    54  
    55    <div class='man-navigation' style='display:none'>
    56      <a href="#NAME">NAME</a>
    57      <a href="#SYNOPSIS">SYNOPSIS</a>
    58      <a href="#DESCRIPTION">DESCRIPTION</a>
    59      <a href="#CONFIGURATION">CONFIGURATION</a>
    60      <a href="#EXAMPLES">EXAMPLES</a>
    61      <a href="#BUGS">BUGS</a>
    62      <a href="#AUTHORS">AUTHORS</a>
    63      <a href="#SEE-ALSO">SEE ALSO</a>
    64    </div>
    65  
    66    <ol class='man-decor man-head man head'>
    67      <li class='tl'>hub(1)</li>
    68      <li class='tc'>Hub Manual</li>
    69      <li class='tr'>hub(1)</li>
    70    </ol>
    71  
    72    <h2 id="NAME">NAME</h2>
    73  <p class="man-name">
    74    <code>hub</code> - <span class="man-whatis">git + hub = github</span>
    75  </p>
    76  
    77  <h2 id="SYNOPSIS">SYNOPSIS</h2>
    78  
    79  <p><code>hub</code> [<code>--noop</code>] <var>COMMAND</var> <var>OPTIONS</var><br />
    80  <code>hub alias</code> [<code>-s</code>] [<var>SHELL</var>]</p>
    81  
    82  <h3 id="Expanded-git-commands-">Expanded git commands:</h3>
    83  
    84  <p><code>git init -g</code> <var>OPTIONS</var><br />
    85  <code>git clone</code> [<code>-p</code>] <var>OPTIONS</var> [<var>USER</var>/]<var>REPOSITORY</var> <var>DIRECTORY</var><br />
    86  <code>git remote add</code> [<code>-p</code>] <var>OPTIONS</var> <var>USER</var>[/<var>REPOSITORY</var>]<br />
    87  <code>git remote set-url</code> [<code>-p</code>] <var>OPTIONS</var> <var>REMOTE-NAME</var> <var>USER</var>[/<var>REPOSITORY</var>]<br />
    88  <code>git fetch</code> <var>USER-1</var>,[<var>USER-2</var>,...]<br />
    89  <code>git checkout</code> <var>PULLREQ-URL</var> [<var>BRANCH</var>]<br />
    90  <code>git merge</code> <var>PULLREQ-URL</var><br />
    91  <code>git cherry-pick</code> <var>GITHUB-REF</var><br />
    92  <code>git am</code> <var>GITHUB-URL</var><br />
    93  <code>git apply</code> <var>GITHUB-URL</var><br />
    94  <code>git push</code> <var>REMOTE-1</var>,<var>REMOTE-2</var>,...,<var>REMOTE-N</var> [<var>REF</var>]<br />
    95  <code>git submodule add</code> [<code>-p</code>] <var>OPTIONS</var> [<var>USER</var>/]<var>REPOSITORY</var> <var>DIRECTORY</var></p>
    96  
    97  <h3 id="Custom-git-commands-">Custom git commands:</h3>
    98  
    99  <p><code>git create</code> [<var>NAME</var>] [<code>-p</code>] [<code>-d</code> <var>DESCRIPTION</var>] [<code>-h</code> <var>HOMEPAGE</var>]<br />
   100  <code>git browse</code> [<code>-u</code>] [[<var>USER</var><code>/</code>]<var>REPOSITORY</var>] [SUBPAGE]<br />
   101  <code>git compare</code> [<code>-u</code>] [<var>USER</var>] [[<var>START</var>...]<var>END</var>]<br />
   102  <code>git fork</code> [<code>--no-remote</code>]<br />
   103  <code>git pull-request</code> [<code>-o</code>|<code>--browse</code>] [<code>-f</code>] [<code>-m</code> <var>MESSAGE</var>|<code>-F</code> <var>FILE</var>|<code>-i</code> <var>ISSUE</var>|<var>ISSUE-URL</var>] [<code>-b</code> <var>BASE</var>] [<code>-h</code> <var>HEAD</var>]<br />
   104  <code>git ci-status</code> [<code>-v</code>] [<var>COMMIT</var>]</p>
   105  
   106  <h2 id="DESCRIPTION">DESCRIPTION</h2>
   107  
   108  <p>hub enhances various git commands to ease most common workflows with GitHub.</p>
   109  
   110  <dl>
   111  <dt><code>hub --noop</code> <var>COMMAND</var></dt><dd><p>Shows which command(s) would be run as a result of the current command.
   112  Doesn't perform anything.</p></dd>
   113  <dt><code>hub alias</code> [<code>-s</code>] [<var>SHELL</var>]</dt><dd><p>Shows shell instructions for wrapping git. If given, <var>SHELL</var> specifies the
   114  type of shell; otherwise defaults to the value of SHELL environment
   115  variable.  With <code>-s</code>, outputs shell script suitable for <code>eval</code>.</p></dd>
   116  <dt><code>git init</code> <code>-g</code> <var>OPTIONS</var></dt><dd><p>Create a git repository as with <span class="man-ref">git-init<span class="s">(1)</span></span> and add remote <code>origin</code> at
   117  "git@github.com:<var>USER</var>/<var>REPOSITORY</var>.git"; <var>USER</var> is your GitHub username and
   118  <var>REPOSITORY</var> is the current working directory's basename.</p></dd>
   119  <dt><code>git clone</code> [<code>-p</code>] <var>OPTIONS</var> [<var>USER</var><code>/</code>]<var>REPOSITORY</var> <var>DIRECTORY</var></dt><dd><p>Clone repository "git://github.com/<var>USER</var>/<var>REPOSITORY</var>.git" into
   120  <var>DIRECTORY</var> as with <span class="man-ref">git-clone<span class="s">(1)</span></span>. When <var>USER</var>/ is omitted, assumes
   121  your GitHub login.</p>
   122  
   123  <p>If the repository is private or the current user has push access to the
   124  repository, hub will use the ssh protocol for cloning. Use <code>-p</code> to select
   125  the ssh protocol unconditionally. HTTPS protocol can be used instead by
   126  setting "hub.protocol" (see <var>CONFIGURATION</var>).</p></dd>
   127  <dt><code>git remote add</code> [<code>-p</code>] <var>OPTIONS</var> <var>USER</var>[<code>/</code><var>REPOSITORY</var>]</dt><dd><p>Add remote "git://github.com/<var>USER</var>/<var>REPOSITORY</var>.git" as with
   128  <span class="man-ref">git-remote<span class="s">(1)</span></span>. When /<var>REPOSITORY</var> is omitted, the basename of the
   129  current working directory is used. With <code>-p</code>, use private remote
   130  "git@github.com:<var>USER</var>/<var>REPOSITORY</var>.git". If <var>USER</var> is "origin"
   131  then uses your GitHub login.</p></dd>
   132  <dt><code>git remote set-url</code> [<code>-p</code>] <var>OPTIONS</var> <var>REMOTE-NAME</var> <var>USER</var>[/<var>REPOSITORY</var>]</dt><dd><p>Sets the url of remote <var>REMOTE-NAME</var> using the same rules as
   133  <code>git remote add</code>.</p></dd>
   134  <dt><code>git fetch</code> <var>USER-1</var>,[<var>USER-2</var>,...]</dt><dd><p>Adds missing remote(s) with <code>git remote add</code> prior to fetching. New
   135  remotes are only added if they correspond to valid forks on GitHub.</p></dd>
   136  <dt><code>git checkout</code> <var>PULLREQ-URL</var> [<var>BRANCH</var>]</dt><dd><p>Checks out the head of the pull request as a local branch, to allow for
   137  reviewing, rebasing and otherwise cleaning up the commits in the pull
   138  request before merging. The name of the local branch can explicitly be
   139  set with <var>BRANCH</var>.</p></dd>
   140  <dt><code>git merge</code> <var>PULLREQ-URL</var></dt><dd><p>Merge the pull request with a commit message that includes the pull request
   141  ID and title, similar to the GitHub Merge Button.</p></dd>
   142  <dt><code>git cherry-pick</code> <var>GITHUB-REF</var></dt><dd><p>Cherry-pick a commit from a fork using either full URL to the commit
   143  or GitHub-flavored Markdown notation, which is <code>user@sha</code>. If the remote
   144  doesn't yet exist, it will be added. A <code>git fetch &lt;user></code> is issued
   145  prior to the cherry-pick attempt.</p></dd>
   146  <dt><code>git [am|apply]</code> <var>GITHUB-URL</var></dt><dd><p>Downloads the patch file for the pull request or commit at the URL and
   147  applies that patch from disk with <code>git am</code> or <code>git apply</code>. Similar to
   148  <code>cherry-pick</code>, but doesn't add new remotes. <code>git am</code> creates commits while
   149  preserving authorship info while <code>apply</code> only applies the patch to the
   150  working copy.</p></dd>
   151  <dt><code>git push</code> <var>REMOTE-1</var>,<var>REMOTE-2</var>,...,<var>REMOTE-N</var> [<var>REF</var>]</dt><dd><p>Push <var>REF</var> to each of <var>REMOTE-1</var> through <var>REMOTE-N</var> by executing
   152  multiple <code>git push</code> commands.</p></dd>
   153  <dt><code>git submodule add</code> [<code>-p</code>] <var>OPTIONS</var> [<var>USER</var>/]<var>REPOSITORY</var> <var>DIRECTORY</var></dt><dd><p>Submodule repository "git://github.com/<var>USER</var>/<var>REPOSITORY</var>.git" into
   154  <var>DIRECTORY</var> as with <span class="man-ref">git-submodule<span class="s">(1)</span></span>. When <var>USER</var>/ is omitted, assumes
   155  your GitHub login. With <code>-p</code>, use private remote
   156  "git@github.com:<var>USER</var>/<var>REPOSITORY</var>.git".</p></dd>
   157  <dt><code>git help</code></dt><dd><p>Display enhanced <span class="man-ref">git-help<span class="s">(1)</span></span>.</p></dd>
   158  </dl>
   159  
   160  
   161  <p>hub also adds some custom commands that are otherwise not present in git:</p>
   162  
   163  <dl>
   164  <dt><code>git create</code> [<var>NAME</var>] [<code>-p</code>] [<code>-d</code> <var>DESCRIPTION</var>] [<code>-h</code> <var>HOMEPAGE</var>]</dt><dd><p>Create a new public GitHub repository from the current git
   165  repository and add remote <code>origin</code> at
   166  "git@github.com:<var>USER</var>/<var>REPOSITORY</var>.git"; <var>USER</var> is your GitHub
   167  username and <var>REPOSITORY</var> is the current working directory name.
   168  To explicitly name the new repository, pass in <var>NAME</var>, optionally in
   169  <var>ORGANIZATION</var>/<var>NAME</var> form to create under an organization you're a
   170  member of. With <code>-p</code>, create a private repository, and with <code>-d</code> and <code>-h</code>
   171  set the repository's description and homepage URL, respectively.</p></dd>
   172  <dt><code>git browse</code> [<code>-u</code>] [[<var>USER</var><code>/</code>]<var>REPOSITORY</var>] [SUBPAGE]</dt><dd><p>Open repository's GitHub page in the system's default web browser using
   173  <code>open(1)</code> or the <code>BROWSER</code> env variable. If the repository isn't
   174  specified, <code>browse</code> opens the page of the repository found in the current
   175  directory. If SUBPAGE is specified, the browser will open on the specified
   176  subpage: one of "wiki", "commits", "issues" or other (the default is
   177  "tree"). With <code>-u</code>, outputs the URL rather than opening the browser.</p></dd>
   178  <dt><code>git compare</code> [<code>-u</code>] [<var>USER</var>] [[<var>START</var>...]<var>END</var>]</dt><dd><p>Open a GitHub compare view page in the system's default web browser.
   179  <var>START</var> to <var>END</var> are branch names, tag names, or commit SHA1s specifying
   180  the range of history to compare. If a range with two dots (<code>a..b</code>) is given,
   181  it will be transformed into one with three dots. If <var>START</var> is omitted,
   182  GitHub will compare against the base branch (the default is "master").
   183  If <var>END</var> is omitted, GitHub compare view is opened for the current branch.
   184  With <code>-u</code>, outputs the URL rather than opening the browser.</p></dd>
   185  <dt><code>git fork</code> [<code>--no-remote</code>]</dt><dd><p>Forks the original project (referenced by "origin" remote) on GitHub and
   186  adds a new remote for it under your username.</p></dd>
   187  <dt><code>git pull-request</code> [<code>-o</code>|<code>--browse</code>] [<code>-f</code>] [<code>-m</code> <var>MESSAGE</var>|<code>-F</code> <var>FILE</var>|<code>-i</code> <var>ISSUE</var>|<var>ISSUE-URL</var>] [<code>-b</code> <var>BASE</var>] [<code>-h</code> <var>HEAD</var>]</dt><dd><p>Opens a pull request on GitHub for the project that the "origin" remote
   188  points to. The default head of the pull request is the current branch.
   189  Both base and head of the pull request can be explicitly given in one of
   190  the following formats: "branch", "owner:branch", "owner/repo:branch".
   191  This command will abort operation if it detects that the current topic
   192  branch has local commits that are not yet pushed to its upstream branch
   193  on the remote. To skip this check, use <code>-f</code>.</p>
   194  
   195  <p>Without <var>MESSAGE</var> or <var>FILE</var>, a text editor will open in which title and body
   196  of the pull request can be entered in the same manner as git commit message.
   197  Pull request message can also be passed via stdin with <code>-F -</code>.</p>
   198  
   199  <p>With <code>-o</code> or <code>--browse</code>, the new pull request will open in the web browser.</p>
   200  
   201  <p>Issue to pull request conversion via <code>-i &lt;ISSUE></code> or <var>ISSUE-URL</var>
   202  arguments is deprecated and will likely be removed from the future versions
   203  of both hub and GitHub API.</p></dd>
   204  <dt><code>git ci-status</code> [<code>-v</code>] [<var>COMMIT</var>]</dt><dd><p>Looks up the SHA for <var>COMMIT</var> in GitHub Status API and displays the latest
   205  status. Exits with one of:<br />
   206  success (0), error (1), failure (1), pending (2), no status (3)</p>
   207  
   208  <p>If <code>-v</code> is given, additionally print the URL to CI build results.</p></dd>
   209  </dl>
   210  
   211  
   212  <h2 id="CONFIGURATION">CONFIGURATION</h2>
   213  
   214  <h3 id="GitHub-OAuth-authentication">GitHub OAuth authentication</h3>
   215  
   216  <p>Hub will prompt for GitHub username &amp; password the first time it needs to access
   217  the API and exchange it for an OAuth token, which it saves in "~/.config/hub".</p>
   218  
   219  <p>To avoid being prompted, use <var>GITHUB_USER</var> and <var>GITHUB_PASSWORD</var> environment
   220  variables.</p>
   221  
   222  <h3 id="HTTPS-instead-of-git-protocol">HTTPS instead of git protocol</h3>
   223  
   224  <p>If you prefer the HTTPS protocol for GitHub repositories, you can set
   225  "hub.protocol" to "https". This will affect <code>clone</code>, <code>fork</code>, <code>remote add</code>
   226  and other operations that expand references to GitHub repositories as full
   227  URLs that otherwise use git and ssh protocols.</p>
   228  
   229  <p>"hub.protocol" only applies when the "OWNER/REPO" shorthand is used instead of
   230  a full git URL.</p>
   231  
   232  <pre><code># default behavior
   233  $ git clone defunkt/repl
   234  &lt; git clone >
   235  
   236  # opt into HTTPS:
   237  $ git config --global hub.protocol https
   238  $ git clone defunkt/repl
   239  &lt; https clone >
   240  </code></pre>
   241  
   242  <h3 id="GitHub-Enterprise">GitHub Enterprise</h3>
   243  
   244  <p>By default, hub will only work with repositories that have remotes which
   245  point to github.com. GitHub Enterprise hosts need to be whitelisted to
   246  configure hub to treat such remotes same as github.com:</p>
   247  
   248  <pre><code>$ git config --global --add hub.host my.git.org
   249  </code></pre>
   250  
   251  <p>The default host for commands like <code>init</code> and <code>clone</code> is still
   252  github.com, but this can be affected with the <var>GITHUB_HOST</var> environment
   253  variable:</p>
   254  
   255  <pre><code>$ GITHUB_HOST=my.git.org git clone myproject
   256  </code></pre>
   257  
   258  <h2 id="EXAMPLES">EXAMPLES</h2>
   259  
   260  <h3 id="git-clone">git clone</h3>
   261  
   262  <pre><code>$ git clone schacon/ticgit
   263  &gt; git clone git://github.com/schacon/ticgit.git
   264  
   265  $ git clone -p schacon/ticgit
   266  &gt; git clone git@github.com:schacon/ticgit.git
   267  
   268  $ git clone resque
   269  &gt; git clone git@github.com/YOUR_USER/resque.git
   270  </code></pre>
   271  
   272  <h3 id="git-remote-add">git remote add</h3>
   273  
   274  <pre><code>$ git remote add rtomayko
   275  &gt; git remote add rtomayko git://github.com/rtomayko/CURRENT_REPO.git
   276  
   277  $ git remote add -p rtomayko
   278  &gt; git remote add rtomayko git@github.com:rtomayko/CURRENT_REPO.git
   279  
   280  $ git remote add origin
   281  &gt; git remote add origin git://github.com/YOUR_USER/CURRENT_REPO.git
   282  </code></pre>
   283  
   284  <h3 id="git-fetch">git fetch</h3>
   285  
   286  <pre><code>$ git fetch mislav
   287  &gt; git remote add mislav git://github.com/mislav/REPO.git
   288  &gt; git fetch mislav
   289  
   290  $ git fetch mislav,xoebus
   291  &gt; git remote add mislav ...
   292  &gt; git remote add xoebus ...
   293  &gt; git fetch --multiple mislav xoebus
   294  </code></pre>
   295  
   296  <h3 id="git-cherry-pick">git cherry-pick</h3>
   297  
   298  <pre><code>$ git cherry-pick http://github.com/mislav/REPO/commit/SHA
   299  &gt; git remote add -f mislav git://github.com/mislav/REPO.git
   300  &gt; git cherry-pick SHA
   301  
   302  $ git cherry-pick mislav@SHA
   303  &gt; git remote add -f mislav git://github.com/mislav/CURRENT_REPO.git
   304  &gt; git cherry-pick SHA
   305  
   306  $ git cherry-pick mislav@SHA
   307  &gt; git fetch mislav
   308  &gt; git cherry-pick SHA
   309  </code></pre>
   310  
   311  <h3 id="git-am-git-apply">git am, git apply</h3>
   312  
   313  <pre><code>$ git am https://github.com/defunkt/hub/pull/55
   314  [ downloads patch via API ]
   315  &gt; git am /tmp/55.patch
   316  
   317  $ git am --ignore-whitespace https://github.com/davidbalbert/hub/commit/fdb9921
   318  [ downloads patch via API ]
   319  &gt; git am --ignore-whitespace /tmp/fdb9921.patch
   320  
   321  $ git apply https://gist.github.com/8da7fb575debd88c54cf
   322  [ downloads patch via API ]
   323  &gt; git apply /tmp/gist-8da7fb575debd88c54cf.txt
   324  </code></pre>
   325  
   326  <h3 id="git-fork">git fork</h3>
   327  
   328  <pre><code>$ git fork
   329  [ repo forked on GitHub ]
   330  &gt; git remote add -f YOUR_USER git@github.com:YOUR_USER/CURRENT_REPO.git
   331  </code></pre>
   332  
   333  <h3 id="git-pull-request">git pull-request</h3>
   334  
   335  <pre><code># while on a topic branch called "feature":
   336  $ git pull-request
   337  [ opens text editor to edit title &amp; body for the request ]
   338  [ opened pull request on GitHub for "YOUR_USER:feature" ]
   339  
   340  # explicit title, pull base &amp; head:
   341  $ git pull-request -m "Implemented feature X" -b defunkt:master -h mislav:feature
   342  </code></pre>
   343  
   344  <h3 id="git-checkout">git checkout</h3>
   345  
   346  <pre><code>$ git checkout https://github.com/defunkt/hub/pull/73
   347  &gt; git remote add -f -t feature mislav git://github.com/mislav/hub.git
   348  &gt; git checkout --track -B mislav-feature mislav/feature
   349  
   350  $ git checkout https://github.com/defunkt/hub/pull/73 custom-branch-name
   351  </code></pre>
   352  
   353  <h3 id="git-merge">git merge</h3>
   354  
   355  <pre><code>$ git merge https://github.com/defunkt/hub/pull/73
   356  &gt; git fetch git://github.com/mislav/hub.git +refs/heads/feature:refs/remotes/mislav/feature
   357  &gt; git merge mislav/feature --no-ff -m 'Merge pull request #73 from mislav/feature...'
   358  </code></pre>
   359  
   360  <h3 id="git-create">git create</h3>
   361  
   362  <pre><code>$ git create
   363  [ repo created on GitHub ]
   364  &gt; git remote add origin git@github.com:YOUR_USER/CURRENT_REPO.git
   365  
   366  # with description:
   367  $ git create -d 'It shall be mine, all mine!'
   368  
   369  $ git create recipes
   370  [ repo created on GitHub ]
   371  &gt; git remote add origin git@github.com:YOUR_USER/recipes.git
   372  
   373  $ git create sinatra/recipes
   374  [ repo created in GitHub organization ]
   375  &gt; git remote add origin git@github.com:sinatra/recipes.git
   376  </code></pre>
   377  
   378  <h3 id="git-init">git init</h3>
   379  
   380  <pre><code>$ git init -g
   381  &gt; git init
   382  &gt; git remote add origin git@github.com:YOUR_USER/REPO.git
   383  </code></pre>
   384  
   385  <h3 id="git-push">git push</h3>
   386  
   387  <pre><code>$ git push origin,staging,qa bert_timeout
   388  &gt; git push origin bert_timeout
   389  &gt; git push staging bert_timeout
   390  &gt; git push qa bert_timeout
   391  </code></pre>
   392  
   393  <h3 id="git-browse">git browse</h3>
   394  
   395  <pre><code>$ git browse
   396  &gt; open https://github.com/YOUR_USER/CURRENT_REPO
   397  
   398  $ git browse -- commit/SHA
   399  &gt; open https://github.com/YOUR_USER/CURRENT_REPO/commit/SHA
   400  
   401  $ git browse -- issues
   402  &gt; open https://github.com/YOUR_USER/CURRENT_REPO/issues
   403  
   404  $ git browse -- issues/10
   405  &gt; open https://github.com/YOUR_USER/CURRENT_REPO/issues/10
   406  
   407  $ git browse schacon/ticgit
   408  &gt; open https://github.com/schacon/ticgit
   409  
   410  $ git browse schacon/ticgit commit/SHA
   411  &gt; open https://github.com/schacon/ticgit/commit/SHA
   412  
   413  $ git browse resque
   414  &gt; open https://github.com/YOUR_USER/resque
   415  
   416  $ git browse resque network
   417  &gt; open https://github.com/YOUR_USER/resque/network
   418  </code></pre>
   419  
   420  <h3 id="git-compare">git compare</h3>
   421  
   422  <pre><code>$ git compare refactor
   423  &gt; open https://github.com/CURRENT_REPO/compare/refactor
   424  
   425  $ git compare 1.0..1.1
   426  &gt; open https://github.com/CURRENT_REPO/compare/1.0...1.1
   427  
   428  $ git compare -u fix
   429  &gt; (https://github.com/CURRENT_REPO/compare/fix)
   430  
   431  $ git compare other-user patch
   432  &gt; open https://github.com/other-user/REPO/compare/patch
   433  </code></pre>
   434  
   435  <h3 id="git-submodule">git submodule</h3>
   436  
   437  <pre><code>$ git submodule add wycats/bundler vendor/bundler
   438  &gt; git submodule add git://github.com/wycats/bundler.git vendor/bundler
   439  
   440  $ git submodule add -p wycats/bundler vendor/bundler
   441  &gt; git submodule add git@github.com:wycats/bundler.git vendor/bundler
   442  
   443  $ git submodule add -b ryppl --name pip ryppl/pip vendor/pip
   444  &gt; git submodule add -b ryppl --name pip git://github.com/ryppl/pip.git vendor/pip
   445  </code></pre>
   446  
   447  <h3 id="git-ci-status">git ci-status</h3>
   448  
   449  <pre><code>$ git ci-status [commit]
   450  &gt; (prints CI state of commit and exits with appropriate code)
   451  &gt; One of: success (0), error (1), failure (1), pending (2), no status (3)
   452  </code></pre>
   453  
   454  <h3 id="git-help">git help</h3>
   455  
   456  <pre><code>$ git help
   457  &gt; (improved git help)
   458  $ git help hub
   459  &gt; (hub man page)
   460  </code></pre>
   461  
   462  <h2 id="BUGS">BUGS</h2>
   463  
   464  <p><a href="https://github.com/github/hub/issues" data-bare-link="true">https://github.com/github/hub/issues</a></p>
   465  
   466  <h2 id="AUTHORS">AUTHORS</h2>
   467  
   468  <p><a href="https://github.com/github/hub/contributors" data-bare-link="true">https://github.com/github/hub/contributors</a></p>
   469  
   470  <h2 id="SEE-ALSO">SEE ALSO</h2>
   471  
   472  <p><span class="man-ref">git<span class="s">(1)</span></span>, <span class="man-ref">git-clone<span class="s">(1)</span></span>, <span class="man-ref">git-remote<span class="s">(1)</span></span>, <span class="man-ref">git-init<span class="s">(1)</span></span>,
   473  <a href="http://github.com" data-bare-link="true">http://github.com</a>,
   474  <a href="https://github.com/github/hub" data-bare-link="true">https://github.com/github/hub</a></p>
   475  
   476  
   477    <ol class='man-decor man-foot man foot'>
   478      <li class='tl'>GITHUB</li>
   479      <li class='tc'>October 2014</li>
   480      <li class='tr'>hub(1)</li>
   481    </ol>
   482  
   483    </div>
   484  </body>
   485  </html>