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://{startsb}user@{endsb}host.xz/path/to/repo.git/ 14- ssh://{startsb}user@{endsb}host.xz/~user/path/to/repo.git/ 15- ssh://{startsb}user@{endsb}host.xz/~/path/to/repo.git 16=============================================================== 17 18SSH is the default transport protocol. You can optionally specify 19which user to log-in as, and an alternate, scp-like syntax is also 20supported. Both syntaxes support username expansion, 21as does the native git protocol. The following three are 22identical to the last three above, respectively: 23 24=============================================================== 25- {startsb}user@{endsb}host.xz:/path/to/repo.git/ 26- {startsb}user@{endsb}host.xz:~user/path/to/repo.git/ 27- {startsb}user@{endsb}host.xz:path/to/repo.git 28=============================================================== 29 30To sync with a local directory, use: 31 32=============================================================== 33- /path/to/repo.git/ 34=============================================================== 35 36REMOTES 37------- 38 39In addition to the above, as a short-hand, the name of a 40file in `$GIT_DIR/remotes` directory can be given; the 41named file should be in the following format: 42 43------------ 44 URL: one of the above URL format 45 Push: <refspec> 46 Pull: <refspec> 47 48------------ 49 50Then such a short-hand is specified in place of 51<repository> without <refspec> parameters on the command 52line, <refspec> specified on `Push:` lines or `Pull:` 53lines are used for `git-push` and `git-fetch`/`git-pull`, 54respectively. Multiple `Push:` and `Pull:` lines may 55be specified for additional branch mappings. 56 57Or, equivalently, in the `$GIT_DIR/config` (note the use 58of `fetch` instead of `Pull:`): 59 60------------ 61 [remote "<remote>"] 62 url = <url> 63 push = <refspec> 64 fetch = <refspec> 65 66------------ 67 68The name of a file in `$GIT_DIR/branches` directory can be 69specified as an older notation short-hand; the named 70file should contain a single line, a URL in one of the 71above formats, optionally followed by a hash `#` and the 72name of remote head (URL fragment notation). 73`$GIT_DIR/branches/<remote>` file that stores a <url> 74without the fragment is equivalent to have this in the 75corresponding file in the `$GIT_DIR/remotes/` directory. 76 77------------ 78 URL: <url> 79 Pull: refs/heads/master:<remote> 80 81------------ 82 83while having `<url>#<head>` is equivalent to 84 85------------ 86 URL: <url> 87 Pull: refs/heads/<head>:<remote> 88------------