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> ------------