include::urls.txt[]

REMOTES
-------

In addition to the above, as a short-hand, the name of a
file in `$GIT_DIR/remotes` directory can be given; the
named file should be in the following format:

------------
	URL: one of the above URL format
	Push: <refspec>
	Pull: <refspec>

------------

Then such a short-hand is specified in place of
<repository> without <refspec> parameters on the command
line, <refspec> specified on `Push:` lines or `Pull:`
lines are used for `git-push` and `git-fetch`/`git-pull`,
respectively.  Multiple `Push:` and `Pull:` lines may
be specified for additional branch mappings.

Or, equivalently, in the `$GIT_DIR/config` (note the use
of `fetch` instead of `Pull:`):

------------
	[remote "<remote>"]
		url = <url>
		push = <refspec>
		fetch = <refspec>

------------

The name of a file in `$GIT_DIR/branches` directory can be
specified as an older notation short-hand; the named
file should contain a single line, a URL in one of the
above formats, optionally followed by a hash `#` and the
name of remote head (URL fragment notation).
`$GIT_DIR/branches/<remote>` file that stores a <url>
without the fragment is equivalent to have this in the
corresponding file in the `$GIT_DIR/remotes/` directory.

------------
	URL: <url>
	Pull: refs/heads/master:<remote>

------------

while having `<url>#<head>` is equivalent to

------------
	URL: <url>
	Pull: refs/heads/<head>:<remote>
------------
