Documentation / urls.txton commit Merge branch 'jc/show-merge' (868227b)
   1GIT URLS[[URLS]]
   2----------------
   3
   4One of the following notations can be used
   5to name the remote repository:
   6
   7===============================================================
   8- rsync://host.xz/path/to/repo.git/
   9- http://host.xz/path/to/repo.git/
  10- https://host.xz/path/to/repo.git/
  11- git://host.xz/path/to/repo.git/
  12- git://host.xz/~user/path/to/repo.git/
  13- ssh://host.xz/path/to/repo.git/
  14- ssh://host.xz/~user/path/to/repo.git/
  15- ssh://host.xz/~/path/to/repo.git
  16===============================================================
  17
  18SSH Is the default transport protocol and also supports an
  19scp-like syntax.  Both syntaxes support username expansion,
  20as does the native git protocol. The following three are
  21identical to the last three above, respectively:
  22
  23===============================================================
  24- host.xz:/path/to/repo.git/
  25- host.xz:~user/path/to/repo.git/
  26- host.xz:path/to/repo.git
  27===============================================================
  28
  29To sync with a local directory, use:
  30
  31===============================================================
  32- /path/to/repo.git/
  33===============================================================
  34
  35REMOTES
  36-------
  37
  38In addition to the above, as a short-hand, the name of a
  39file in `$GIT_DIR/remotes` directory can be given; the
  40named file should be in the following format:
  41
  42        URL: one of the above URL format
  43        Push: <refspec>
  44        Pull: <refspec>
  45
  46Then such a short-hand is specified in place of
  47<repository> without <refspec> parameters on the command
  48line, <refspec> specified on `Push:` lines or `Pull:`
  49lines are used for `git-push` and `git-fetch`/`git-pull`,
  50respectively.  Multiple `Push:` and `Pull:` lines may
  51be specified for additional branch mappings.
  52
  53The name of a file in `$GIT_DIR/branches` directory can be
  54specified as an older notation short-hand; the named
  55file should contain a single line, a URL in one of the
  56above formats, optionally followed by a hash `#` and the
  57name of remote head (URL fragment notation).
  58`$GIT_DIR/branches/<remote>` file that stores a <url>
  59without the fragment is equivalent to have this in the
  60corresponding file in the `$GIT_DIR/remotes/` directory.
  61
  62        URL: <url>
  63        Pull: refs/heads/master:<remote>
  64
  65while having `<url>#<head>` is equivalent to
  66
  67        URL: <url>
  68        Pull: refs/heads/<head>:<remote>