:: The "remote" repository to pull from. One of the following notations can be used to name the repository to pull from: + =============================================================== - Rsync URL: rsync://remote.machine/path/to/repo.git/ - HTTP(s) URL: http://remote.machine/path/to/repo.git/ - git URL: git://remote.machine/path/to/repo.git/ or remote.machine:/path/to/repo.git/ - Local directory: /path/to/repo.git/ =============================================================== + 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: ... + When 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/pull", respectively. + 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/: :: The canonical format of a parameter is '+?:'; that is, an optional plus '+', followed by the source ref, followed by a colon ':', followed by the destination ref. + When used in "git push", the side can be an arbitrary "SHA1 expression" that can be used as an argument to "git-cat-file -t". E.g. "master~4" (push four parents before the current master head). + For "git push", the local ref that matches is used to fast forward the remote ref that matches . If the optional plus '+' is used, the remote ref is updated even if it does not result in a fast forward update. + For "git fetch/pull", the remote ref that matches is fetched, and if is not empty string, the local ref that matches it is fast forwarded using . Again, if the optional plus '+' is used, the local ref is updated even if it does not result in a fast forward update. + Some short-cut notations are also supported. + * For backward compatibility, "tag" is almost ignored; it just makes the following parameter to mean a refspec "refs/tags/:refs/tags/". * A parameter without a colon is equivalent to : when pulling/fetching, and : when pushing. That is, do not store it locally if fetching, and update the same name if pushing.