]>
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>"] |
37ba0561 | 29 | url = <url> |
20346234 | 30 | pushurl = <pushurl> |
37ba0561 AR |
31 | push = <refspec> |
32 | fetch = <refspec> | |
37ba0561 AR |
33 | ------------ |
34 | ||
20346234 MG |
35 | The `<pushurl>` is used for pushes only. It is optional and defaults |
36 | to `<url>`. | |
58124733 JF |
37 | |
38 | Named file in `$GIT_DIR/remotes` | |
142d035a | 39 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
58124733 JF |
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: | |
47 | ||
48 | ------------ | |
49 | URL: one of the above URL format | |
50 | Push: <refspec> | |
51 | Pull: <refspec> | |
37ba0561 AR |
52 | |
53 | ------------ | |
37ba0561 | 54 | |
0b444cdb TR |
55 | `Push:` lines are used by 'git push' and |
56 | `Pull:` lines are used by 'git pull' and 'git fetch'. | |
58124733 JF |
57 | Multiple `Push:` and `Pull:` lines may |
58 | be specified for additional branch mappings. | |
59 | ||
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 | ||
68 | ||
69 | ------------ | |
70 | <url>#<head> | |
37ba0561 AR |
71 | ------------ |
72 | ||
58124733 | 73 | `<url>` is required; `#<head>` is optional. |
18afe101 MK |
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: | |
81 | ||
82 | ------------ | |
83 | refs/heads/<head>:refs/heads/<branch> | |
84 | ------------ | |
85 | ||
86 | git push uses: | |
37ba0561 AR |
87 | |
88 | ------------ | |
18afe101 | 89 | HEAD:refs/heads/<head> |
37ba0561 | 90 | ------------ |
58124733 JF |
91 | |
92 | ||
93 | ||
94 |