summaryrefslogtreecommitdiffstats
path: root/Documentation/config/remote.txt
blob: 4118c219c13ac6ba7bd624fad0764e498f6537b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
remote.pushDefault::
	The remote to push to by default.  Overrides
	`branch.<name>.remote` for all branches, and is overridden by
	`branch.<name>.pushRemote` for specific branches.

remote.<name>.url::
	The URL of a remote repository.  See linkgit:git-fetch[1] or
	linkgit:git-push[1]. A configured remote can have multiple URLs;
	in this case the first is used for fetching, and all are used
	for pushing (assuming no `remote.<name>.pushurl` is defined).
	Setting this key to the empty string clears the list of urls,
	allowing you to override earlier config.

remote.<name>.pushurl::
	The push URL of a remote repository.  See linkgit:git-push[1].
	If a `pushurl` option is present in a configured remote, it
	is used for pushing instead of `remote.<name>.url`. A configured
	remote can have multiple push URLs; in this case a push goes to
	all of them. Setting this key to the empty string clears the
	list of urls, allowing you to override earlier config.

remote.<name>.proxy::
	For remotes that require curl (http, https and ftp), the URL to
	the proxy to use for that remote.  Set to the empty string to
	disable proxying for that remote.

remote.<name>.proxyAuthMethod::
	For remotes that require curl (http, https and ftp), the method to use for
	authenticating against the proxy in use (probably set in
	`remote.<name>.proxy`). See `http.proxyAuthMethod`.

remote.<name>.fetch::
	The default set of "refspec" for linkgit:git-fetch[1]. See
	linkgit:git-fetch[1].

remote.<name>.push::
	The default set of "refspec" for linkgit:git-push[1]. See
	linkgit:git-push[1].

remote.<name>.mirror::
	If true, pushing to this remote will automatically behave
	as if the `--mirror` option was given on the command line.

remote.<name>.skipDefaultUpdate::
	A deprecated synonym to `remote.<name>.skipFetchAll` (if
	both are set in the configuration files with different
	values, the value of the last occurrence will be used).

remote.<name>.skipFetchAll::
	If true, this remote will be skipped when updating
	using linkgit:git-fetch[1], the `update` subcommand of
	linkgit:git-remote[1], and ignored by the prefetch task
	of `git maintenance`.

remote.<name>.receivepack::
	The default program to execute on the remote side when pushing.  See
	option --receive-pack of linkgit:git-push[1].

remote.<name>.uploadpack::
	The default program to execute on the remote side when fetching.  See
	option --upload-pack of linkgit:git-fetch-pack[1].

remote.<name>.tagOpt::
	Setting this value to --no-tags disables automatic tag following when
	fetching from remote <name>. Setting it to --tags will fetch every
	tag from remote <name>, even if they are not reachable from remote
	branch heads. Passing these flags directly to linkgit:git-fetch[1] can
	override this setting. See options --tags and --no-tags of
	linkgit:git-fetch[1].

remote.<name>.vcs::
	Setting this to a value <vcs> will cause Git to interact with
	the remote with the git-remote-<vcs> helper.

remote.<name>.prune::
	When set to true, fetching from this remote by default will also
	remove any remote-tracking references that no longer exist on the
	remote (as if the `--prune` option was given on the command line).
	Overrides `fetch.prune` settings, if any.

remote.<name>.pruneTags::
	When set to true, fetching from this remote by default will also
	remove any local tags that no longer exist on the remote if pruning
	is activated in general via `remote.<name>.prune`, `fetch.prune` or
	`--prune`. Overrides `fetch.pruneTags` settings, if any.
+
See also `remote.<name>.prune` and the PRUNING section of
linkgit:git-fetch[1].

remote.<name>.promisor::
	When set to true, this remote will be used to fetch promisor
	objects.

remote.<name>.partialclonefilter::
	The filter that will be applied when fetching from this	promisor remote.
	Changing or clearing this value will only affect fetches for new commits.
	To fetch associated objects for commits already present in the local object
	database, use the `--refetch` option of linkgit:git-fetch[1].

remote.<name>.serverOption::
	The default set of server options used when fetching from this remote.
	These server options can be overridden by the `--server-option=` command
	line arguments.

remote.<name>.followRemoteHEAD::
	How linkgit:git-fetch[1] should handle updates to `remotes/<name>/HEAD`.
	The default value is "create", which will create `remotes/<name>/HEAD`
	if it exists on the remote, but not locally, but will not touch an
	already existing local reference. Setting to "warn" will print
	a message if the remote has a different value, than the local one and
	in case there is no local reference, it behaves like "create".
	A variant on "warn" is "warn-if-not-$branch", which behaves like
	"warn", but if `HEAD` on the remote is `$branch` it will be silent.
	Setting to "always" will silently update it to the value on the remote.
	Finally, setting it to "never" will never change or create the local
	reference.
+
This is a multi-valued variable, and an empty value can be used in a higher
priority configuration file (e.g. `.git/config` in a repository) to clear
the values inherited from a lower priority configuration files (e.g.
`$HOME/.gitconfig`).