| Junio C Hamano | 330aae6 | 2007-07-06 17:01:58 | [diff] [blame] | 1 | include::urls.txt[] | 
 | 2 |  | 
| Junio C Hamano | 054ea08 | 2008-06-01 08:26:34 | [diff] [blame] | 3 | REMOTES[[REMOTES]] | 
 | 4 | ------------------ | 
| Junio C Hamano | 330aae6 | 2007-07-06 17:01:58 | [diff] [blame] | 5 |  | 
| Junio C Hamano | 054ea08 | 2008-06-01 08:26:34 | [diff] [blame] | 6 | The name of one of the following can be used instead | 
 | 7 | of a URL as `<repository>` argument: | 
 | 8 |  | 
 | 9 | * a remote in the git configuration file: `$GIT_DIR/config`, | 
 | 10 | * a file in the `$GIT_DIR/remotes` directory, or | 
 | 11 | * a file in the `$GIT_DIR/branches` directory. | 
 | 12 |  | 
 | 13 | All of these also allow you to omit the refspec from the command line | 
 | 14 | because they each contain a refspec which git will use by default. | 
 | 15 |  | 
 | 16 | Named remote in configuration file | 
 | 17 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 18 |  | 
 | 19 | You can choose to provide the name of a remote which you had previously | 
 | 20 | configured using linkgit:git-remote[1], linkgit:git-config[1] | 
 | 21 | or even by a manual edit to the `$GIT_DIR/config` file. The URL of | 
 | 22 | this remote will be used to access the repository. The refspec | 
 | 23 | of this remote will be used by default when you do | 
 | 24 | not provide a refspec on the command line. The entry in the | 
 | 25 | config file would appear like this: | 
 | 26 |  | 
 | 27 | ------------ | 
 | 28 | [remote "<name>"] | 
 | 29 | url = <url> | 
| Junio C Hamano | 0e88f3e | 2009-06-21 08:03:25 | [diff] [blame] | 30 | pushurl = <pushurl> | 
| Junio C Hamano | 054ea08 | 2008-06-01 08:26:34 | [diff] [blame] | 31 | push = <refspec> | 
 | 32 | fetch = <refspec> | 
 | 33 | ------------ | 
 | 34 |  | 
| Junio C Hamano | 0e88f3e | 2009-06-21 08:03:25 | [diff] [blame] | 35 | The `<pushurl>` is used for pushes only. It is optional and defaults | 
 | 36 | to `<url>`. | 
| Junio C Hamano | 054ea08 | 2008-06-01 08:26:34 | [diff] [blame] | 37 |  | 
 | 38 | Named file in `$GIT_DIR/remotes` | 
 | 39 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 40 |  | 
 | 41 | You can choose to provide the name of a | 
 | 42 | file in `$GIT_DIR/remotes`. The URL | 
 | 43 | in this file will be used to access the repository. The refspec | 
 | 44 | in this file will be used as default when you do not | 
 | 45 | provide a refspec on the command line. This file should have the | 
 | 46 | following format: | 
| Junio C Hamano | 330aae6 | 2007-07-06 17:01:58 | [diff] [blame] | 47 |  | 
 | 48 | ------------ | 
 | 49 | URL: one of the above URL format | 
 | 50 | Push: <refspec> | 
 | 51 | Pull: <refspec> | 
 | 52 |  | 
 | 53 | ------------ | 
 | 54 |  | 
| Junio C Hamano | 1aa40d2 | 2010-01-21 17:46:43 | [diff] [blame] | 55 | `Push:` lines are used by 'git push' and | 
 | 56 | `Pull:` lines are used by 'git pull' and 'git fetch'. | 
| Junio C Hamano | 054ea08 | 2008-06-01 08:26:34 | [diff] [blame] | 57 | Multiple `Push:` and `Pull:` lines may | 
| Junio C Hamano | 330aae6 | 2007-07-06 17:01:58 | [diff] [blame] | 58 | be specified for additional branch mappings. | 
 | 59 |  | 
| Junio C Hamano | 054ea08 | 2008-06-01 08:26:34 | [diff] [blame] | 60 | Named file in `$GIT_DIR/branches` | 
 | 61 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 62 |  | 
 | 63 | You can choose to provide the name of a | 
 | 64 | file in `$GIT_DIR/branches`. | 
 | 65 | The URL in this file will be used to access the repository. | 
 | 66 | This file should have the following format: | 
 | 67 |  | 
| Junio C Hamano | 330aae6 | 2007-07-06 17:01:58 | [diff] [blame] | 68 |  | 
 | 69 | ------------ | 
| Junio C Hamano | 054ea08 | 2008-06-01 08:26:34 | [diff] [blame] | 70 | <url>#<head> | 
| Junio C Hamano | 330aae6 | 2007-07-06 17:01:58 | [diff] [blame] | 71 | ------------ | 
 | 72 |  | 
| Junio C Hamano | 054ea08 | 2008-06-01 08:26:34 | [diff] [blame] | 73 | `<url>` is required; `#<head>` is optional. | 
| Junio C Hamano | 2836349 | 2008-11-14 08:26:31 | [diff] [blame] | 74 |  | 
 | 75 | Depending on the operation, git will use one of the following | 
 | 76 | refspecs, if you don't provide one on the command line. | 
 | 77 | `<branch>` is the name of this file in `$GIT_DIR/branches` and | 
 | 78 | `<head>` defaults to `master`. | 
 | 79 |  | 
 | 80 | git fetch uses: | 
| Junio C Hamano | 330aae6 | 2007-07-06 17:01:58 | [diff] [blame] | 81 |  | 
 | 82 | ------------ | 
| Junio C Hamano | 2836349 | 2008-11-14 08:26:31 | [diff] [blame] | 83 | refs/heads/<head>:refs/heads/<branch> | 
 | 84 | ------------ | 
 | 85 |  | 
 | 86 | git push uses: | 
 | 87 |  | 
 | 88 | ------------ | 
 | 89 | HEAD:refs/heads/<head> | 
| Junio C Hamano | 330aae6 | 2007-07-06 17:01:58 | [diff] [blame] | 90 | ------------ | 
 | 91 |  | 
| Junio C Hamano | 330aae6 | 2007-07-06 17:01:58 | [diff] [blame] | 92 |  | 
| Junio C Hamano | 054ea08 | 2008-06-01 08:26:34 | [diff] [blame] | 93 |  | 
 | 94 |  |