Skip to content

Latest commit

 

History

History
145 lines (125 loc) · 6.27 KB

File metadata and controls

145 lines (125 loc) · 6.27 KB
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.

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

remote.<name>.haveRefs

When negotiating with this remote during git fetch and git push, the client advertises a list of commits that exist locally. In repos with many references, this list of "haves" can be truncated. Depending on data shape, dropping certain references may be expensive. This multi-valued config option specifies ref patterns whose tips should always be sent as "have" commits during fetch negotiation with this remote.

Each value is either an exact ref name (e.g. refs/heads/release) or a glob pattern (e.g. refs/heads/release/*). The pattern syntax is the same as for --negotiation-tip.

If --negotiation-tip is used, then the have set is first restricted by that option and then increased to include the tips specified by the remote.<name>.haveRefs config values.

This option is additive with the normal negotiation process: the negotiation algorithm still runs and advertises its own selected commits, but the refs matching remote.<name>.haveRefs are sent unconditionally on top of those heuristically selected commits. This option is also used during push negotiation when push.negotiate is enabled.

remote.<name>.followRemoteHEAD

How linkgit:git-fetch[1] should handle updates to remotes/<name>/HEAD when fetching using the configured refspecs of a remote. The default value is "create", which will create remotes/<name>/HEAD if it exists on the remote, but not locally; this will not touch an already existing local reference. Setting it to "warn" will print a message if the remote has a different value than the local one; 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 it to "always" will silently update remotes/<name>/HEAD to the value on the remote. Finally, setting it to "never" will never change or create the local reference.