]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/urls-remotes.txt
t4034: abstract away SHA-1-specific constants
[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>"]
37ba0561 29 url = <url>
20346234 30 pushurl = <pushurl>
37ba0561
AR
31 push = <refspec>
32 fetch = <refspec>
37ba0561
AR
33------------
34
20346234
MG
35The `<pushurl>` is used for pushes only. It is optional and defaults
36to `<url>`.
58124733
JF
37
38Named file in `$GIT_DIR/remotes`
142d035a 39~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58124733
JF
40
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:
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
57Multiple `Push:` and `Pull:` lines may
58be specified for additional branch mappings.
59
60Named 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
68
69------------
70 <url>#<head>
37ba0561
AR
71------------
72
58124733 73`<url>` is required; `#<head>` is optional.
18afe101
MK
74
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:
81
82------------
83 refs/heads/<head>:refs/heads/<branch>
84------------
85
86git push uses:
37ba0561
AR
87
88------------
18afe101 89 HEAD:refs/heads/<head>
37ba0561 90------------
58124733
JF
91
92
93
94