GIT URLS[[URLS]] ---------------- One of the following notations can be used to name the remote repository: =============================================================== - rsync://host.xz/path/to/repo.git/ - http://host.xz/path/to/repo.git/ - https://host.xz/path/to/repo.git/ - git://host.xz/path/to/repo.git/ - git://host.xz/~user/path/to/repo.git/ - ssh://{startsb}user@{endsb}host.xz/path/to/repo.git/ - ssh://{startsb}user@{endsb}host.xz/~user/path/to/repo.git/ - ssh://{startsb}user@{endsb}host.xz/~/path/to/repo.git =============================================================== SSH is the default transport protocol. You can optionally specify which user to log-in as, and an alternate, scp-like syntax is also supported. Both syntaxes support username expansion, as does the native git protocol. The following three are identical to the last three above, respectively: =============================================================== - {startsb}user@{endsb}host.xz:/path/to/repo.git/ - {startsb}user@{endsb}host.xz:~user/path/to/repo.git/ - {startsb}user@{endsb}host.xz:path/to/repo.git =============================================================== To sync with a local directory, use: =============================================================== - /path/to/repo.git/ =============================================================== 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: Pull: Then such a short-hand is specified in place of without parameters on the command line, 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. 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/` file that stores a without the fragment is equivalent to have this in the corresponding file in the `$GIT_DIR/remotes/` directory. URL: Pull: refs/heads/master: while having `#` is equivalent to URL: Pull: refs/heads/: