blob: 282758e76887e34c1a162e8c00d3a1007d9e199c [file] [log] [blame]
Junio C Hamano330aae62007-07-06 17:01:581include::urls.txt[]
2
Junio C Hamano054ea082008-06-01 08:26:343REMOTES[[REMOTES]]
4------------------
Junio C Hamano330aae62007-07-06 17:01:585
Junio C Hamano054ea082008-06-01 08:26:346The name of one of the following can be used instead
7of a URL as `<repository>` argument:
8
Junio C Hamano076ffcc2013-02-06 05:13:219* a remote in the Git configuration file: `$GIT_DIR/config`,
Junio C Hamano054ea082008-06-01 08:26:3410* 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>"]
29url = <url>
Junio C Hamano0e88f3e2009-06-21 08:03:2530pushurl = <pushurl>
Junio C Hamano054ea082008-06-01 08:26:3431push = <refspec>
32fetch = <refspec>
33------------
34
Junio C Hamano0e88f3e2009-06-21 08:03:2535The `<pushurl>` is used for pushes only. It is optional and defaults
36to `<url>`.
Junio C Hamano054ea082008-06-01 08:26:3437
38Named file in `$GIT_DIR/remotes`
39~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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:
Junio C Hamano330aae62007-07-06 17:01:5847
48------------
49URL: one of the above URL format
50Push: <refspec>
51Pull: <refspec>
52
53------------
54
Junio C Hamano1aa40d22010-01-21 17:46:4355`Push:` lines are used by 'git push' and
56`Pull:` lines are used by 'git pull' and 'git fetch'.
Junio C Hamano054ea082008-06-01 08:26:3457Multiple `Push:` and `Pull:` lines may
Junio C Hamano330aae62007-07-06 17:01:5858be specified for additional branch mappings.
59
Junio C Hamano054ea082008-06-01 08:26:3460Named 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
Junio C Hamano330aae62007-07-06 17:01:5868
69------------
Junio C Hamano054ea082008-06-01 08:26:3470<url>#<head>
Junio C Hamano330aae62007-07-06 17:01:5871------------
72
Junio C Hamano054ea082008-06-01 08:26:3473`<url>` is required; `#<head>` is optional.
Junio C Hamano28363492008-11-14 08:26:3174
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:
Junio C Hamano330aae62007-07-06 17:01:5881
82------------
Junio C Hamano28363492008-11-14 08:26:3183refs/heads/<head>:refs/heads/<branch>
84------------
85
86git push uses:
87
88------------
89HEAD:refs/heads/<head>
Junio C Hamano330aae62007-07-06 17:01:5890------------
91
Junio C Hamano330aae62007-07-06 17:01:5892
Junio C Hamano054ea082008-06-01 08:26:3493
94