Raw
1 remote.pushDefault::
2 The remote to push to by default. Overrides
3 `branch.<name>.remote` for all branches, and is overridden by
4 `branch.<name>.pushRemote` for specific branches.
5
6 remote.<name>.url::
7 The URL of a remote repository. See linkgit:git-fetch[1] or
8 linkgit:git-push[1]. A configured remote can have multiple URLs;
9 in this case the first is used for fetching, and all are used
10 for pushing (assuming no `remote.<name>.pushurl` is defined).
11 Setting this key to the empty string clears the list of urls,
12 allowing you to override earlier config.
13
14 remote.<name>.pushurl::
15 The push URL of a remote repository. See linkgit:git-push[1].
16 If a `pushurl` option is present in a configured remote, it
17 is used for pushing instead of `remote.<name>.url`. A configured
18 remote can have multiple push URLs; in this case a push goes to
19 all of them. Setting this key to the empty string clears the
20 list of urls, allowing you to override earlier config.
21
22 remote.<name>.proxy::
23 For remotes that require curl (http, https and ftp), the URL to
24 the proxy to use for that remote. Set to the empty string to
25 disable proxying for that remote.
26
27 remote.<name>.proxyAuthMethod::
28 For remotes that require curl (http, https and ftp), the method to use for
29 authenticating against the proxy in use (probably set in
30 `remote.<name>.proxy`). See `http.proxyAuthMethod`.
31
32 remote.<name>.fetch::
33 The default set of "refspec" for linkgit:git-fetch[1]. See
34 linkgit:git-fetch[1].
35
36 remote.<name>.push::
37 The default set of "refspec" for linkgit:git-push[1]. See
38 linkgit:git-push[1].
39
40 remote.<name>.mirror::
41 If true, pushing to this remote will automatically behave
42 as if the `--mirror` option was given on the command line.
43
44 remote.<name>.skipDefaultUpdate::
45 A deprecated synonym to `remote.<name>.skipFetchAll` (if
46 both are set in the configuration files with different
47 values, the value of the last occurrence will be used).
48
49 remote.<name>.skipFetchAll::
50 If true, this remote will be skipped when updating
51 using linkgit:git-fetch[1], the `update` subcommand of
52 linkgit:git-remote[1], and ignored by the prefetch task
53 of `git maintenance`.
54
55 remote.<name>.receivepack::
56 The default program to execute on the remote side when pushing. See
57 option --receive-pack of linkgit:git-push[1].
58
59 remote.<name>.uploadpack::
60 The default program to execute on the remote side when fetching. See
61 option --upload-pack of linkgit:git-fetch-pack[1].
62
63 remote.<name>.tagOpt::
64 Setting this value to --no-tags disables automatic tag following when
65 fetching from remote <name>. Setting it to --tags will fetch every
66 tag from remote <name>, even if they are not reachable from remote
67 branch heads. Passing these flags directly to linkgit:git-fetch[1] can
68 override this setting. See options --tags and --no-tags of
69 linkgit:git-fetch[1].
70
71 remote.<name>.vcs::
72 Setting this to a value <vcs> will cause Git to interact with
73 the remote with the git-remote-<vcs> helper.
74
75 remote.<name>.prune::
76 When set to true, fetching from this remote by default will also
77 remove any remote-tracking references that no longer exist on the
78 remote (as if the `--prune` option was given on the command line).
79 Overrides `fetch.prune` settings, if any.
80
81 remote.<name>.pruneTags::
82 When set to true, fetching from this remote by default will also
83 remove any local tags that no longer exist on the remote if pruning
84 is activated in general via `remote.<name>.prune`, `fetch.prune` or
85 `--prune`. Overrides `fetch.pruneTags` settings, if any.
86 +
87 See also `remote.<name>.prune` and the PRUNING section of
88 linkgit:git-fetch[1].
89
90 remote.<name>.promisor::
91 When set to true, this remote will be used to fetch promisor
92 objects.
93
94 remote.<name>.advertisedAs::
95 When a promisor remote is automatically configured using
96 information advertised by a server through the
97 `promisor-remote` protocol capability (see
98 `promisor.acceptFromServerUrl`), the server's originally
99 advertised name is saved in this variable. This is for
100 information, tracing and debugging purposes. Users should not
101 typically modify or create such configuration entries.
102
103 remote.<name>.partialclonefilter::
104 The filter that will be applied when fetching from this promisor remote.
105 Changing or clearing this value will only affect fetches for new commits.
106 To fetch associated objects for commits already present in the local object
107 database, use the `--refetch` option of linkgit:git-fetch[1].
108
109 remote.<name>.serverOption::
110 The default set of server options used when fetching from this remote.
111 These server options can be overridden by the `--server-option=` command
112 line arguments.
113 +
114 This is a multi-valued variable, and an empty value can be used in a higher
115 priority configuration file (e.g. `.git/config` in a repository) to clear
116 the values inherited from a lower priority configuration files (e.g.
117 `$HOME/.gitconfig`).
118
119 remote.<name>.negotiationRestrict::
120 When negotiating with this remote during `git fetch`, restrict the
121 commits advertised as "have" lines to only those reachable from refs
122 matching the given patterns. This multi-valued config option behaves
123 like `--negotiation-restrict` on the command line.
124 +
125 Each value is either an exact ref name (e.g. `refs/heads/release`) or a
126 glob pattern (e.g. `refs/heads/release/*`). The pattern syntax is the
127 same as for `--negotiation-restrict`.
128 +
129 These config values are used as defaults for the `--negotiation-restrict`
130 command-line option. If `--negotiation-restrict` (or its synonym
131 `--negotiation-tip`) is specified on the command line, then the config
132 values are not used.
133 +
134 These values also influence negotiation during `git push` if
135 `push.negotiate` is enabled.
136 +
137 Blank values signal to ignore all previous values, allowing a reset of
138 the list from broader config scenarios.
139
140 remote.<name>.negotiationInclude::
141 When negotiating with this remote during `git fetch`, the client
142 advertises a list of commits that exist locally. In repos with
143 many references, this list of "haves" can be truncated. Depending
144 on data shape, dropping certain references may be expensive. This
145 multi-valued config option specifies references, commit hashes,
146 or ref pattern globs whose tips should always be sent as "have"
147 commits during fetch negotiation with this remote.
148 +
149 Each value is either an exact ref name (e.g. `refs/heads/release`), a
150 commit hash, or a glob pattern (e.g. `refs/heads/release/*`). The
151 pattern syntax is the same as for `--negotiation-include`.
152 +
153 These config values are used as defaults for the `--negotiation-include`
154 command-line option. If `--negotiation-include` is specified on the
155 command line, then the config values are not used.
156 +
157 This option is additive with the normal negotiation process: the
158 negotiation algorithm still runs and advertises its own selected commits,
159 but the refs matching `remote.<name>.negotiationInclude` are sent
160 unconditionally on top of those heuristically selected commits.
161 +
162 These values also influence negotiation during `git push` if
163 `push.negotiate` is enabled.
164 +
165 Blank values signal to ignore all previous values, allowing a reset of
166 the list from broader config scenarios.
167
168 remote.<name>.followRemoteHEAD::
169 When fetching this remote using its default refspec, this setting determines
170 how to handle differences between the remote's `HEAD` and the local
171 `remotes/<name>/HEAD` symbolic-ref. Overrides the value of
172 `fetch.followRemoteHEAD`. See `fetch.followRemoteHEAD` for a description of
173 accepted values.
174 +
175 In addition to the values supported by `fetch.followRemoteHEAD`, this setting
176 may also take on the value "warn-if-not-`$branch`", which behaves like "warn",
177 but ignores the warning if the remote's `HEAD` is `remotes/<name>/$branch`.