| 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`. |