diff options
Diffstat (limited to 'Documentation/pull-fetch-param.txt')
-rw-r--r-- | Documentation/pull-fetch-param.txt | 138 |
1 files changed, 66 insertions, 72 deletions
diff --git a/Documentation/pull-fetch-param.txt b/Documentation/pull-fetch-param.txt index 8642182c8..8dbddbf63 100644 --- a/Documentation/pull-fetch-param.txt +++ b/Documentation/pull-fetch-param.txt @@ -2,84 +2,78 @@ 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/ - 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: <refspec>... - Pull: <refspec>... - - When 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/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/<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> ++ +=============================================================== +- 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: <refspec>... + Pull: <refspec>... ++ +When 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/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/<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> <refspec>:: The canonical format of a <refspec> parameter is '+?<src>:<dst>'; 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 <src> 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 <src> is used - to fast forward the remote ref that matches <dst>. 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 <src> - is fetched, and if <dst> is not empty string, the local - ref that matches it is fast forwarded using <src>. - 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 <tag> to mean a - refspec "refs/tags/<tag>:refs/tags/<tag>". - - * A parameter <ref> without a colon is equivalent to - <ref>: when pulling/fetching, and <ref>:<ref> when - pushing. That is, do not store it locally if - fetching, and update the same name if pushing. ++ +When used in "git push", the <src> 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 <src> is used +to fast forward the remote ref that matches <dst>. 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 <src> +is fetched, and if <dst> is not empty string, the local +ref that matches it is fast forwarded using <src>. +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 <tag> to mean a + refspec "refs/tags/<tag>:refs/tags/<tag>". +* A parameter <ref> without a colon is equivalent to + <ref>: when pulling/fetching, and <ref>:<ref> when + pushing. That is, do not store it locally if + fetching, and update the same name if pushing. -a, \--append:: Append ref names and object names of fetched refs to the |