git-remote-mediawiki: more efficient 'pull' in the best case
[git/raj.git] / Documentation / urls-remotes.txt
blob00f7e79c44eec844969467fac431c33071888983
1 include::urls.txt[]
3 REMOTES[[REMOTES]]
4 ------------------
6 The name of one of the following can be used instead
7 of a URL as `<repository>` argument:
9 * a remote in the git configuration file: `$GIT_DIR/config`,
10 * a file in the `$GIT_DIR/remotes` directory, or
11 * a file in the `$GIT_DIR/branches` directory.
13 All of these also allow you to omit the refspec from the command line
14 because they each contain a refspec which git will use by default.
16 Named remote in configuration file
17 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19 You can choose to provide the name of a remote which you had previously
20 configured using linkgit:git-remote[1], linkgit:git-config[1]
21 or even by a manual edit to the `$GIT_DIR/config` file.  The URL of
22 this remote will be used to access the repository.  The refspec
23 of this remote will be used by default when you do
24 not provide a refspec on the command line.  The entry in the
25 config file would appear like this:
27 ------------
28         [remote "<name>"]
29                 url = <url>
30                 pushurl = <pushurl>
31                 push = <refspec>
32                 fetch = <refspec>
33 ------------
35 The `<pushurl>` is used for pushes only. It is optional and defaults
36 to `<url>`.
38 Named file in `$GIT_DIR/remotes`
39 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 You can choose to provide the name of a
42 file in `$GIT_DIR/remotes`.  The URL
43 in this file will be used to access the repository.  The refspec
44 in this file will be used as default when you do not
45 provide a refspec on the command line.  This file should have the
46 following format:
48 ------------
49         URL: one of the above URL format
50         Push: <refspec>
51         Pull: <refspec>
53 ------------
55 `Push:` lines are used by 'git push' and
56 `Pull:` lines are used by 'git pull' and 'git fetch'.
57 Multiple `Push:` and `Pull:` lines may
58 be specified for additional branch mappings.
60 Named file in `$GIT_DIR/branches`
61 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63 You can choose to provide the name of a
64 file in `$GIT_DIR/branches`.
65 The URL in this file will be used to access the repository.
66 This file should have the following format:
69 ------------
70         <url>#<head>
71 ------------
73 `<url>` is required; `#<head>` is optional.
75 Depending on the operation, git will use one of the following
76 refspecs, 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`.
80 git fetch uses:
82 ------------
83         refs/heads/<head>:refs/heads/<branch>
84 ------------
86 git push uses:
88 ------------
89         HEAD:refs/heads/<head>
90 ------------