blob: bf17012241536ceb1c407fea04b7b1a84441923f [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>"]
Jean-Noël Avila77062942021-11-06 19:48:55 +010029 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
Elijah Newren859a6d62023-10-08 06:45:08 +000036to `<URL>`. Pushing to a remote affects all defined pushurls or all
Calvin Wand390e082023-02-07 18:12:27 +000037defined urls if no pushurls are defined. Fetch, however, will only
Linus Arver548afb02023-06-07 19:26:47 +000038fetch from the first defined url if multiple urls are defined.
John J. Franey58124732008-05-29 13:32:31 -040039
40Named file in `$GIT_DIR/remotes`
Junio C Hamano142d0352015-10-22 10:09:07 -070041~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
John J. Franey58124732008-05-29 13:32:31 -040042
43You can choose to provide the name of a
44file in `$GIT_DIR/remotes`. The URL
45in this file will be used to access the repository. The refspec
46in this file will be used as default when you do not
47provide a refspec on the command line. This file should have the
48following format:
Andrew Ruder37ba0562007-07-04 17:21:36 -050049
50------------
Elijah Newren6cc668c2023-10-08 06:45:14 +000051 URL: one of the above URL formats
Andrew Ruder37ba0562007-07-04 17:21:36 -050052 Push: <refspec>
53 Pull: <refspec>
54
55------------
56
Thomas Rast0b444cd2010-01-10 00:33:00 +010057`Push:` lines are used by 'git push' and
58`Pull:` lines are used by 'git pull' and 'git fetch'.
John J. Franey58124732008-05-29 13:32:31 -040059Multiple `Push:` and `Pull:` lines may
Andrew Ruder37ba0562007-07-04 17:21:36 -050060be specified for additional branch mappings.
61
John J. Franey58124732008-05-29 13:32:31 -040062Named file in `$GIT_DIR/branches`
63~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64
65You can choose to provide the name of a
66file in `$GIT_DIR/branches`.
67The URL in this file will be used to access the repository.
68This file should have the following format:
69
Andrew Ruder37ba0562007-07-04 17:21:36 -050070
71------------
Jean-Noël Avila77062942021-11-06 19:48:55 +010072 <URL>#<head>
Andrew Ruder37ba0562007-07-04 17:21:36 -050073------------
74
Jean-Noël Avila77062942021-11-06 19:48:55 +010075`<URL>` is required; `#<head>` is optional.
Martin Koegler18afe102008-11-10 22:47:11 +010076
77Depending on the operation, git will use one of the following
78refspecs, 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
82git fetch uses:
Andrew Ruder37ba0562007-07-04 17:21:36 -050083
84------------
Martin Koegler18afe102008-11-10 22:47:11 +010085 refs/heads/<head>:refs/heads/<branch>
86------------
87
88git push uses:
89
90------------
91 HEAD:refs/heads/<head>
Andrew Ruder37ba0562007-07-04 17:21:36 -050092------------
93
Andrew Ruder37ba0562007-07-04 17:21:36 -050094
John J. Franey58124732008-05-29 13:32:31 -040095
96