]>
Commit | Line | Data |
---|---|---|
37ba0561 AR |
1 | include::urls.txt[] |
2 | ||
58124733 JF |
3 | REMOTES[[REMOTES]] |
4 | ------------------ | |
37ba0561 | 5 | |
58124733 JF |
6 | The name of one of the following can be used instead |
7 | of a URL as `<repository>` argument: | |
37ba0561 | 8 | |
2de9b711 | 9 | * a remote in the Git configuration file: `$GIT_DIR/config`, |
58124733 JF |
10 | * a file in the `$GIT_DIR/remotes` directory, or |
11 | * a file in the `$GIT_DIR/branches` directory. | |
37ba0561 | 12 | |
58124733 JF |
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. | |
37ba0561 | 15 | |
58124733 JF |
16 | Named remote in configuration file |
17 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
37ba0561 | 18 | |
58124733 JF |
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: | |
37ba0561 AR |
26 | |
27 | ------------ | |
58124733 | 28 | [remote "<name>"] |
7706294e | 29 | url = <URL> |
20346234 | 30 | pushurl = <pushurl> |
37ba0561 AR |
31 | push = <refspec> |
32 | fetch = <refspec> | |
37ba0561 AR |
33 | ------------ |
34 | ||
20346234 | 35 | The `<pushurl>` is used for pushes only. It is optional and defaults |
859a6d60 | 36 | to `<URL>`. Pushing to a remote affects all defined pushurls or all |
d390e080 | 37 | defined urls if no pushurls are defined. Fetch, however, will only |
548afb0d | 38 | fetch from the first defined url if multiple urls are defined. |
58124733 JF |
39 | |
40 | Named file in `$GIT_DIR/remotes` | |
142d035a | 41 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
58124733 JF |
42 | |
43 | You can choose to provide the name of a | |
44 | file in `$GIT_DIR/remotes`. The URL | |
45 | in this file will be used to access the repository. The refspec | |
46 | in this file will be used as default when you do not | |
47 | provide a refspec on the command line. This file should have the | |
48 | following format: | |
49 | ||
50 | ------------ | |
6cc668c0 | 51 | URL: one of the above URL formats |
58124733 JF |
52 | Push: <refspec> |
53 | Pull: <refspec> | |
37ba0561 AR |
54 | |
55 | ------------ | |
37ba0561 | 56 | |
0b444cdb TR |
57 | `Push:` lines are used by 'git push' and |
58 | `Pull:` lines are used by 'git pull' and 'git fetch'. | |
58124733 JF |
59 | Multiple `Push:` and `Pull:` lines may |
60 | be specified for additional branch mappings. | |
61 | ||
62 | Named file in `$GIT_DIR/branches` | |
63 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
64 | ||
65 | You can choose to provide the name of a | |
66 | file in `$GIT_DIR/branches`. | |
67 | The URL in this file will be used to access the repository. | |
68 | This file should have the following format: | |
69 | ||
70 | ||
71 | ------------ | |
7706294e | 72 | <URL>#<head> |
37ba0561 AR |
73 | ------------ |
74 | ||
7706294e | 75 | `<URL>` is required; `#<head>` is optional. |
18afe101 MK |
76 | |
77 | Depending on the operation, git will use one of the following | |
78 | refspecs, if you don't provide one on the command line. | |
79 | `<branch>` is the name of this file in `$GIT_DIR/branches` and | |
80 | `<head>` defaults to `master`. | |
81 | ||
82 | git fetch uses: | |
83 | ||
84 | ------------ | |
85 | refs/heads/<head>:refs/heads/<branch> | |
86 | ------------ | |
87 | ||
88 | git push uses: | |
37ba0561 AR |
89 | |
90 | ------------ | |
18afe101 | 91 | HEAD:refs/heads/<head> |
37ba0561 | 92 | ------------ |
58124733 JF |
93 | |
94 | ||
95 | ||
96 |