<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="generator" content="AsciiDoc 8.4.5" /> <title>git-remote(1)</title> <style type="text/css"> /* Debug borders */ p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 { /* border: 1px solid red; */ } body { margin: 1em 5% 1em 5%; } a { color: blue; text-decoration: underline; } a:visited { color: fuchsia; } em { font-style: italic; color: navy; } strong { font-weight: bold; color: #083194; } tt { color: navy; } h1, h2, h3, h4, h5, h6 { color: #527bbd; font-family: sans-serif; margin-top: 1.2em; margin-bottom: 0.5em; line-height: 1.3; } h1, h2, h3 { border-bottom: 2px solid silver; } h2 { padding-top: 0.5em; } h3 { float: left; } h3 + * { clear: left; } div.sectionbody { font-family: serif; margin-left: 0; } hr { border: 1px solid silver; } p { margin-top: 0.5em; margin-bottom: 0.5em; } ul, ol, li > p { margin-top: 0; } pre { padding: 0; margin: 0; } span#author { color: #527bbd; font-family: sans-serif; font-weight: bold; font-size: 1.1em; } span#email { } span#revnumber, span#revdate, span#revremark { font-family: sans-serif; } div#footer { font-family: sans-serif; font-size: small; border-top: 2px solid silver; padding-top: 0.5em; margin-top: 4.0em; } div#footer-text { float: left; padding-bottom: 0.5em; } div#footer-badges { float: right; padding-bottom: 0.5em; } div#preamble { margin-top: 1.5em; margin-bottom: 1.5em; } div.tableblock, div.imageblock, div.exampleblock, div.verseblock, div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, div.admonitionblock { margin-top: 1.5em; margin-bottom: 1.5em; } div.admonitionblock { margin-top: 2.5em; margin-bottom: 2.5em; } div.content { /* Block element content. */ padding: 0; } /* Block element titles. */ div.title, caption.title { color: #527bbd; font-family: sans-serif; font-weight: bold; text-align: left; margin-top: 1.0em; margin-bottom: 0.5em; } div.title + * { margin-top: 0; } td div.title:first-child { margin-top: 0.0em; } div.content div.title:first-child { margin-top: 0.0em; } div.content + div.title { margin-top: 0.0em; } div.sidebarblock > div.content { background: #ffffee; border: 1px solid silver; padding: 0.5em; } div.listingblock > div.content { border: 1px solid silver; background: #f4f4f4; padding: 0.5em; } div.quoteblock { padding-left: 2.0em; margin-right: 10%; } div.quoteblock > div.attribution { padding-top: 0.5em; text-align: right; } div.verseblock { padding-left: 2.0em; margin-right: 10%; } div.verseblock > div.content { white-space: pre; } div.verseblock > div.attribution { padding-top: 0.75em; text-align: left; } /* DEPRECATED: Pre version 8.2.7 verse style literal block. */ div.verseblock + div.attribution { text-align: left; } div.admonitionblock .icon { vertical-align: top; font-size: 1.1em; font-weight: bold; text-decoration: underline; color: #527bbd; padding-right: 0.5em; } div.admonitionblock td.content { padding-left: 0.5em; border-left: 2px solid silver; } div.exampleblock > div.content { border-left: 2px solid silver; padding: 0.5em; } div.imageblock div.content { padding-left: 0; } span.image img { border-style: none; } a.image:visited { color: white; } dl { margin-top: 0.8em; margin-bottom: 0.8em; } dt { margin-top: 0.5em; margin-bottom: 0; font-style: normal; color: navy; } dd > *:first-child { margin-top: 0.1em; } ul, ol { list-style-position: outside; } ol.arabic { list-style-type: decimal; } ol.loweralpha { list-style-type: lower-alpha; } ol.upperalpha { list-style-type: upper-alpha; } ol.lowerroman { list-style-type: lower-roman; } ol.upperroman { list-style-type: upper-roman; } div.compact ul, div.compact ol, div.compact p, div.compact p, div.compact div, div.compact div { margin-top: 0.1em; margin-bottom: 0.1em; } div.tableblock > table { border: 3px solid #527bbd; } thead { font-family: sans-serif; font-weight: bold; } tfoot { font-weight: bold; } td > div.verse { white-space: pre; } p.table { margin-top: 0; } /* Because the table frame attribute is overriden by CSS in most browsers. */ div.tableblock > table[frame="void"] { border-style: none; } div.tableblock > table[frame="hsides"] { border-left-style: none; border-right-style: none; } div.tableblock > table[frame="vsides"] { border-top-style: none; border-bottom-style: none; } div.hdlist { margin-top: 0.8em; margin-bottom: 0.8em; } div.hdlist tr { padding-bottom: 15px; } dt.hdlist1.strong, td.hdlist1.strong { font-weight: bold; } td.hdlist1 { vertical-align: top; font-style: normal; padding-right: 0.8em; color: navy; } td.hdlist2 { vertical-align: top; } div.hdlist.compact tr { margin: 0; padding-bottom: 0; } .comment { background: yellow; } @media print { div#footer-badges { display: none; } } div#toctitle { color: #527bbd; font-family: sans-serif; font-size: 1.1em; font-weight: bold; margin-top: 1.0em; margin-bottom: 0.1em; } div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; } div.toclevel2 { margin-left: 2em; font-size: 0.9em; } div.toclevel3 { margin-left: 4em; font-size: 0.9em; } div.toclevel4 { margin-left: 6em; font-size: 0.9em; } /* Overrides for manpage documents */ h1 { padding-top: 0.5em; padding-bottom: 0.5em; border-top: 2px solid silver; border-bottom: 2px solid silver; } h2 { border-style: none; } div.sectionbody { margin-left: 5%; } @media print { div#toc { display: none; } } /* Workarounds for IE6's broken and incomplete CSS2. */ div.sidebar-content { background: #ffffee; border: 1px solid silver; padding: 0.5em; } div.sidebar-title, div.image-title { color: #527bbd; font-family: sans-serif; font-weight: bold; margin-top: 0.0em; margin-bottom: 0.5em; } div.listingblock div.content { border: 1px solid silver; background: #f4f4f4; padding: 0.5em; } div.quoteblock-attribution { padding-top: 0.5em; text-align: right; } div.verseblock-content { white-space: pre; } div.verseblock-attribution { padding-top: 0.75em; text-align: left; } div.exampleblock-content { border-left: 2px solid silver; padding-left: 0.5em; } /* IE6 sets dynamically generated links as visited. */ div#toc a:visited { color: blue; } </style> </head> <body> <div id="header"> <h1> git-remote(1) Manual Page </h1> <h2>NAME</h2> <div class="sectionbody"> <p>git-remote - manage set of tracked repositories </p> </div> </div> <h2 id="_synopsis">SYNOPSIS</h2> <div class="sectionbody"> <div class="verseblock"> <div class="verseblock-content"><em>git remote</em> [-v | --verbose] <em>git remote add</em> [-t <branch>] [-m <master>] [-f] [--tags|--no-tags] [--mirror=<fetch|push>] <name> <url> <em>git remote rename</em> <old> <new> <em>git remote rm</em> <name> <em>git remote set-head</em> <name> (-a | -d | <branch>) <em>git remote set-branches</em> <name> [--add] <branch>… <em>git remote set-url</em> [--push] <name> <newurl> [<oldurl>] <em>git remote set-url --add</em> [--push] <name> <newurl> <em>git remote set-url --delete</em> [--push] <name> <url> <em>git remote</em> [-v | --verbose] <em>show</em> [-n] <name> <em>git remote prune</em> [-n | --dry-run] <name> <em>git remote</em> [-v | --verbose] <em>update</em> [-p | --prune] [(<group> | <remote>)…]</div> <div class="verseblock-attribution"> </div></div> </div> <h2 id="_description">DESCRIPTION</h2> <div class="sectionbody"> <div class="paragraph"><p>Manage the set of repositories ("remotes") whose branches you track.</p></div> </div> <h2 id="_options">OPTIONS</h2> <div class="sectionbody"> <div class="dlist"><dl> <dt class="hdlist1"> -v </dt> <dt class="hdlist1"> --verbose </dt> <dd> <p> Be a little more verbose and show remote url after name. NOTE: This must be placed between <tt>remote</tt> and <tt>subcommand</tt>. </p> </dd> </dl></div> </div> <h2 id="_commands">COMMANDS</h2> <div class="sectionbody"> <div class="paragraph"><p>With no arguments, shows a list of existing remotes. Several subcommands are available to perform operations on the remotes.</p></div> <div class="dlist"><dl> <dt class="hdlist1"> <em>add</em> </dt> <dd> <p> Adds a remote named <name> for the repository at <url>. The command <tt>git fetch <name></tt> can then be used to create and update remote-tracking branches <name>/<branch>. </p> <div class="paragraph"><p>With <tt>-f</tt> option, <tt>git fetch <name></tt> is run immediately after the remote information is set up.</p></div> <div class="paragraph"><p>With <tt>--tags</tt> option, <tt>git fetch <name></tt> imports every tag from the remote repository.</p></div> <div class="paragraph"><p>With <tt>--no-tags</tt> option, <tt>git fetch <name></tt> does not import tags from the remote repository.</p></div> <div class="paragraph"><p>With <tt>-t <branch></tt> option, instead of the default glob refspec for the remote to track all branches under <tt>$GIT_DIR/remotes/<name>/</tt>, a refspec to track only <tt><branch></tt> is created. You can give more than one <tt>-t <branch></tt> to track multiple branches without grabbing all branches.</p></div> <div class="paragraph"><p>With <tt>-m <master></tt> option, <tt>$GIT_DIR/remotes/<name>/HEAD</tt> is set up to point at remote’s <tt><master></tt> branch. See also the set-head command.</p></div> <div class="paragraph"><p>When a fetch mirror is created with <tt>--mirror=fetch</tt>, the refs will not be stored in the <em>refs/remotes/</em> namespace, but rather everything in <em>refs/</em> on the remote will be directly mirrored into <em>refs/</em> in the local repository. This option only makes sense in bare repositories, because a fetch would overwrite any local commits.</p></div> <div class="paragraph"><p>When a push mirror is created with <tt>--mirror=push</tt>, then <tt>git push</tt> will always behave as if <tt>--mirror</tt> was passed.</p></div> </dd> <dt class="hdlist1"> <em>rename</em> </dt> <dd> <p> Rename the remote named <old> to <new>. All remote-tracking branches and configuration settings for the remote are updated. </p> <div class="paragraph"><p>In case <old> and <new> are the same, and <old> is a file under <tt>$GIT_DIR/remotes</tt> or <tt>$GIT_DIR/branches</tt>, the remote is converted to the configuration file format.</p></div> </dd> <dt class="hdlist1"> <em>rm</em> </dt> <dd> <p> Remove the remote named <name>. All remote-tracking branches and configuration settings for the remote are removed. </p> </dd> <dt class="hdlist1"> <em>set-head</em> </dt> <dd> <p> Sets or deletes the default branch (<tt>$GIT_DIR/remotes/<name>/HEAD</tt>) for the named remote. Having a default branch for a remote is not required, but allows the name of the remote to be specified in lieu of a specific branch. For example, if the default branch for <tt>origin</tt> is set to <tt>master</tt>, then <tt>origin</tt> may be specified wherever you would normally specify <tt>origin/master</tt>. </p> <div class="paragraph"><p>With <tt>-d</tt>, <tt>$GIT_DIR/remotes/<name>/HEAD</tt> is deleted.</p></div> <div class="paragraph"><p>With <tt>-a</tt>, the remote is queried to determine its <tt>HEAD</tt>, then <tt>$GIT_DIR/remotes/<name>/HEAD</tt> is set to the same branch. e.g., if the remote <tt>HEAD</tt> is pointed at <tt>next</tt>, "<tt>git remote set-head origin -a</tt>" will set <tt>$GIT_DIR/refs/remotes/origin/HEAD</tt> to <tt>refs/remotes/origin/next</tt>. This will only work if <tt>refs/remotes/origin/next</tt> already exists; if not it must be fetched first.</p></div> <div class="paragraph"><p>Use <tt><branch></tt> to set <tt>$GIT_DIR/remotes/<name>/HEAD</tt> explicitly. e.g., "git remote set-head origin master" will set <tt>$GIT_DIR/refs/remotes/origin/HEAD</tt> to <tt>refs/remotes/origin/master</tt>. This will only work if <tt>refs/remotes/origin/master</tt> already exists; if not it must be fetched first.</p></div> </dd> <dt class="hdlist1"> <em>set-branches</em> </dt> <dd> <p> Changes the list of branches tracked by the named remote. This can be used to track a subset of the available remote branches after the initial setup for a remote. </p> <div class="paragraph"><p>The named branches will be interpreted as if specified with the <tt>-t</tt> option on the <em>git remote add</em> command line.</p></div> <div class="paragraph"><p>With <tt>--add</tt>, instead of replacing the list of currently tracked branches, adds to that list.</p></div> </dd> <dt class="hdlist1"> <em>set-url</em> </dt> <dd> <p> Changes URL remote points to. Sets first URL remote points to matching regex <oldurl> (first URL if no <oldurl> is given) to <newurl>. If <oldurl> doesn’t match any URL, error occurs and nothing is changed. </p> <div class="paragraph"><p>With <em>--push</em>, push URLs are manipulated instead of fetch URLs.</p></div> <div class="paragraph"><p>With <em>--add</em>, instead of changing some URL, new URL is added.</p></div> <div class="paragraph"><p>With <em>--delete</em>, instead of changing some URL, all URLs matching regex <url> are deleted. Trying to delete all non-push URLs is an error.</p></div> </dd> <dt class="hdlist1"> <em>show</em> </dt> <dd> <p> Gives some information about the remote <name>. </p> <div class="paragraph"><p>With <tt>-n</tt> option, the remote heads are not queried first with <tt>git ls-remote <name></tt>; cached information is used instead.</p></div> </dd> <dt class="hdlist1"> <em>prune</em> </dt> <dd> <p> Deletes all stale remote-tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in "remotes/<name>". </p> <div class="paragraph"><p>With <tt>--dry-run</tt> option, report what branches will be pruned, but do not actually prune them.</p></div> </dd> <dt class="hdlist1"> <em>update</em> </dt> <dd> <p> Fetch updates for a named set of remotes in the repository as defined by remotes.<group>. If a named group is not specified on the command line, the configuration parameter remotes.default will be used; if remotes.default is not defined, all remotes which do not have the configuration parameter remote.<name>.skipDefaultUpdate set to true will be updated. (See <a href="git-config.html">git-config(1)</a>). </p> <div class="paragraph"><p>With <tt>--prune</tt> option, prune all the remotes that are updated.</p></div> </dd> </dl></div> </div> <h2 id="_discussion">DISCUSSION</h2> <div class="sectionbody"> <div class="paragraph"><p>The remote configuration is achieved using the <tt>remote.origin.url</tt> and <tt>remote.origin.fetch</tt> configuration variables. (See <a href="git-config.html">git-config(1)</a>).</p></div> </div> <h2 id="_examples">Examples</h2> <div class="sectionbody"> <div class="ulist"><ul> <li> <p> Add a new remote, fetch, and check out a branch from it </p> <div class="listingblock"> <div class="content"> <pre><tt>$ git remote origin $ git branch -r origin/master $ git remote add linux-nfs git://linux-nfs.org/pub/linux/nfs-2.6.git $ git remote linux-nfs origin $ git fetch * refs/remotes/linux-nfs/master: storing branch 'master' ... commit: bf81b46 $ git branch -r origin/master linux-nfs/master $ git checkout -b nfs linux-nfs/master ...</tt></pre> </div></div> </li> <li> <p> Imitate <em>git clone</em> but track only selected branches </p> <div class="listingblock"> <div class="content"> <pre><tt>$ mkdir project.git $ cd project.git $ git init $ git remote add -f -t master -m master origin git://example.com/git.git/ $ git merge origin</tt></pre> </div></div> </li> </ul></div> </div> <h2 id="_see_also">SEE ALSO</h2> <div class="sectionbody"> <div class="paragraph"><p><a href="git-fetch.html">git-fetch(1)</a> <a href="git-branch.html">git-branch(1)</a> <a href="git-config.html">git-config(1)</a></p></div> </div> <h2 id="_git">GIT</h2> <div class="sectionbody"> <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div> </div> <div id="footer"> <div id="footer-text"> Last updated 2011-04-19 22:26:58 UTC </div> </div> </body> </html>