| 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>.partialclonefilter:: |
| 95 | The filter that will be applied when fetching from this promisor remote. |
| 96 | Changing or clearing this value will only affect fetches for new commits. |
| 97 | To fetch associated objects for commits already present in the local object |
| 98 | database, use the `--refetch` option of linkgit:git-fetch[1]. |
| 99 | |
| 100 | remote.<name>.serverOption:: |
| 101 | The default set of server options used when fetching from this remote. |
| 102 | These server options can be overridden by the `--server-option=` command |
| 103 | line arguments. |
| 104 | + |
| 105 | This is a multi-valued variable, and an empty value can be used in a higher |
| 106 | priority configuration file (e.g. `.git/config` in a repository) to clear |
| 107 | the values inherited from a lower priority configuration files (e.g. |
| 108 | `$HOME/.gitconfig`). |
| 109 | |
| 110 | remote.<name>.negotiationRestrict:: |
| 111 | When negotiating with this remote during `git fetch`, restrict the |
| 112 | commits advertised as "have" lines to only those reachable from refs |
| 113 | matching the given patterns. This multi-valued config option behaves |
| 114 | like `--negotiation-restrict` on the command line. |
| 115 | + |
| 116 | Each value is either an exact ref name (e.g. `refs/heads/release`) or a |
| 117 | glob pattern (e.g. `refs/heads/release/*`). The pattern syntax is the |
| 118 | same as for `--negotiation-restrict`. |
| 119 | + |
| 120 | These config values are used as defaults for the `--negotiation-restrict` |
| 121 | command-line option. If `--negotiation-restrict` (or its synonym |
| 122 | `--negotiation-tip`) is specified on the command line, then the config |
| 123 | values are not used. |
| 124 | + |
| 125 | These values also influence negotiation during `git push` if |
| 126 | `push.negotiate` is enabled. |
| 127 | + |
| 128 | Blank values signal to ignore all previous values, allowing a reset of |
| 129 | the list from broader config scenarios. |
| 130 | |
| 131 | remote.<name>.negotiationInclude:: |
| 132 | When negotiating with this remote during `git fetch`, the client |
| 133 | advertises a list of commits that exist locally. In repos with |
| 134 | many references, this list of "haves" can be truncated. Depending |
| 135 | on data shape, dropping certain references may be expensive. This |
| 136 | multi-valued config option specifies references, commit hashes, |
| 137 | or ref pattern globs whose tips should always be sent as "have" |
| 138 | commits during fetch negotiation with this remote. |
| 139 | + |
| 140 | Each value is either an exact ref name (e.g. `refs/heads/release`), a |
| 141 | commit hash, or a glob pattern (e.g. `refs/heads/release/*`). The |
| 142 | pattern syntax is the same as for `--negotiation-include`. |
| 143 | + |
| 144 | These config values are used as defaults for the `--negotiation-include` |
| 145 | command-line option. If `--negotiation-include` is specified on the |
| 146 | command line, then the config values are not used. |
| 147 | + |
| 148 | This option is additive with the normal negotiation process: the |
| 149 | negotiation algorithm still runs and advertises its own selected commits, |
| 150 | but the refs matching `remote.<name>.negotiationInclude` are sent |
| 151 | unconditionally on top of those heuristically selected commits. |
| 152 | + |
| 153 | These values also influence negotiation during `git push` if |
| 154 | `push.negotiate` is enabled. |
| 155 | + |
| 156 | Blank values signal to ignore all previous values, allowing a reset of |
| 157 | the list from broader config scenarios. |
| 158 | |
| 159 | remote.<name>.followRemoteHEAD:: |
| 160 | How linkgit:git-fetch[1] should handle updates to `remotes/<name>/HEAD` |
| 161 | when fetching using the configured refspecs of a remote. |
| 162 | The default value is "create", which will create `remotes/<name>/HEAD` |
| 163 | if it exists on the remote, but not locally; this will not touch an |
| 164 | already existing local reference. Setting it to "warn" will print |
| 165 | a message if the remote has a different value than the local one; |
| 166 | in case there is no local reference, it behaves like "create". |
| 167 | A variant on "warn" is "warn-if-not-$branch", which behaves like |
| 168 | "warn", but if `HEAD` on the remote is `$branch` it will be silent. |
| 169 | Setting it to "always" will silently update `remotes/<name>/HEAD` to |
| 170 | the value on the remote. Finally, setting it to "never" will never |
| 171 | change or create the local reference. |