]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/urls-remotes.txt
Merge branch 'jc/fake-lstat'
[thirdparty/git.git] / Documentation / urls-remotes.txt
CommitLineData
37ba0561
AR
1include::urls.txt[]
2
58124733
JF
3REMOTES[[REMOTES]]
4------------------
37ba0561 5
58124733
JF
6The name of one of the following can be used instead
7of 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
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.
37ba0561 15
58124733
JF
16Named remote in configuration file
17~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37ba0561 18
58124733
JF
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:
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 35The `<pushurl>` is used for pushes only. It is optional and defaults
859a6d60 36to `<URL>`. Pushing to a remote affects all defined pushurls or all
d390e080 37defined urls if no pushurls are defined. Fetch, however, will only
548afb0d 38fetch from the first defined url if multiple urls are defined.
58124733
JF
39
40Named file in `$GIT_DIR/remotes`
142d035a 41~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58124733
JF
42
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:
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
59Multiple `Push:` and `Pull:` lines may
60be specified for additional branch mappings.
61
62Named 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
70
71------------
7706294e 72 <URL>#<head>
37ba0561
AR
73------------
74
7706294e 75`<URL>` is required; `#<head>` is optional.
18afe101
MK
76
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:
83
84------------
85 refs/heads/<head>:refs/heads/<branch>
86------------
87
88git push uses:
37ba0561
AR
89
90------------
18afe101 91 HEAD:refs/heads/<head>
37ba0561 92------------
58124733
JF
93
94
95
96