urls-remotes.txt 2.4 KB
Newer Older
1 2
include::urls.txt[]

3 4
REMOTES[[REMOTES]]
------------------
5

6 7
The name of one of the following can be used instead
of a URL as `<repository>` argument:
8

9
* a remote in the Git configuration file: `$GIT_DIR/config`,
10 11
* a file in the `$GIT_DIR/remotes` directory, or
* a file in the `$GIT_DIR/branches` directory.
12

13 14
All of these also allow you to omit the refspec from the command line
because they each contain a refspec which git will use by default.
15

16 17
Named remote in configuration file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18

19 20 21 22 23 24 25
You can choose to provide the name of a remote which you had previously
configured using linkgit:git-remote[1], linkgit:git-config[1]
or even by a manual edit to the `$GIT_DIR/config` file.  The URL of
this remote will be used to access the repository.  The refspec
of this remote will be used by default when you do
not provide a refspec on the command line.  The entry in the
config file would appear like this:
26 27

------------
28
	[remote "<name>"]
29
		url = <url>
30
		pushurl = <pushurl>
31 32 33 34
		push = <refspec>
		fetch = <refspec>
------------

35 36
The `<pushurl>` is used for pushes only. It is optional and defaults
to `<url>`.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

Named file in `$GIT_DIR/remotes`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can choose to provide the name of a
file in `$GIT_DIR/remotes`.  The URL
in this file will be used to access the repository.  The refspec
in this file will be used as default when you do not
provide a refspec on the command line.  This file should have the
following format:

------------
	URL: one of the above URL format
	Push: <refspec>
	Pull: <refspec>
52 53 54

------------

55 56
`Push:` lines are used by 'git push' and
`Pull:` lines are used by 'git pull' and 'git fetch'.
57 58 59 60 61 62 63 64 65 66 67 68 69 70
Multiple `Push:` and `Pull:` lines may
be specified for additional branch mappings.

Named file in `$GIT_DIR/branches`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can choose to provide the name of a
file in `$GIT_DIR/branches`.
The URL in this file will be used to access the repository.
This file should have the following format:


------------
	<url>#<head>
71 72
------------

73
`<url>` is required; `#<head>` is optional.
74 75 76 77 78 79 80 81 82 83 84 85 86

Depending on the operation, git will use one of the following
refspecs, if you don't provide one on the command line.
`<branch>` is the name of this file in `$GIT_DIR/branches` and
`<head>` defaults to `master`.

git fetch uses:

------------
	refs/heads/<head>:refs/heads/<branch>
------------

git push uses:
87 88

------------
89
	HEAD:refs/heads/<head>
90
------------
91 92 93 94