blob: bd184cd6539af2daef0226e7bf462b91ff5f3b4d [file] [log] [blame]
Andrew Ruder37ba0562007-07-04 17:21:36 -05001include::urls.txt[]
2
John J. Franey58124732008-05-29 13:32:31 -04003REMOTES[[REMOTES]]
4------------------
Andrew Ruder37ba0562007-07-04 17:21:36 -05005
John J. Franey58124732008-05-29 13:32:31 -04006The name of one of the following can be used instead
7of a URL as `<repository>` argument:
8
Thomas Ackermann2de9b712013-01-21 20:17:53 +01009* a remote in the Git configuration file: `$GIT_DIR/config`,
John J. Franey58124732008-05-29 13:32:31 -040010* a file in the `$GIT_DIR/remotes` directory, or
11* a file in the `$GIT_DIR/branches` directory.
12
13All of these also allow you to omit the refspec from the command line
14because they each contain a refspec which git will use by default.
15
16Named remote in configuration file
17~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18
19You can choose to provide the name of a remote which you had previously
20configured using linkgit:git-remote[1], linkgit:git-config[1]
21or even by a manual edit to the `$GIT_DIR/config` file. The URL of
22this remote will be used to access the repository. The refspec
23of this remote will be used by default when you do
24not provide a refspec on the command line. The entry in the
25config file would appear like this:
26
27------------
28 [remote "<name>"]
29 url = <url>
Michael J Gruber20346232009-06-09 18:01:34 +020030 pushurl = <pushurl>
John J. Franey58124732008-05-29 13:32:31 -040031 push = <refspec>
32 fetch = <refspec>
33------------
34
Michael J Gruber20346232009-06-09 18:01:34 +020035The `<pushurl>` is used for pushes only. It is optional and defaults
36to `<url>`.
John J. Franey58124732008-05-29 13:32:31 -040037
38Named file in `$GIT_DIR/remotes`
Junio C Hamano142d0352015-10-22 10:09:07 -070039~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
John J. Franey58124732008-05-29 13:32:31 -040040
41You can choose to provide the name of a
42file in `$GIT_DIR/remotes`. The URL
43in this file will be used to access the repository. The refspec
44in this file will be used as default when you do not
45provide a refspec on the command line. This file should have the
46following format:
Andrew Ruder37ba0562007-07-04 17:21:36 -050047
48------------
49 URL: one of the above URL format
50 Push: <refspec>
51 Pull: <refspec>
52
53------------
54
Thomas Rast0b444cd2010-01-10 00:33:00 +010055`Push:` lines are used by 'git push' and
56`Pull:` lines are used by 'git pull' and 'git fetch'.
John J. Franey58124732008-05-29 13:32:31 -040057Multiple `Push:` and `Pull:` lines may
Andrew Ruder37ba0562007-07-04 17:21:36 -050058be specified for additional branch mappings.
59
John J. Franey58124732008-05-29 13:32:31 -040060Named file in `$GIT_DIR/branches`
61~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62
63You can choose to provide the name of a
64file in `$GIT_DIR/branches`.
65The URL in this file will be used to access the repository.
66This file should have the following format:
67
Andrew Ruder37ba0562007-07-04 17:21:36 -050068
69------------
John J. Franey58124732008-05-29 13:32:31 -040070 <url>#<head>
Andrew Ruder37ba0562007-07-04 17:21:36 -050071------------
72
John J. Franey58124732008-05-29 13:32:31 -040073`<url>` is required; `#<head>` is optional.
Martin Koegler18afe102008-11-10 22:47:11 +010074
75Depending on the operation, git will use one of the following
76refspecs, 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
80git fetch uses:
Andrew Ruder37ba0562007-07-04 17:21:36 -050081
82------------
Martin Koegler18afe102008-11-10 22:47:11 +010083 refs/heads/<head>:refs/heads/<branch>
84------------
85
86git push uses:
87
88------------
89 HEAD:refs/heads/<head>
Andrew Ruder37ba0562007-07-04 17:21:36 -050090------------
91
Andrew Ruder37ba0562007-07-04 17:21:36 -050092
John J. Franey58124732008-05-29 13:32:31 -040093
94