| url.<base>.insteadOf:: | |
| Any URL that starts with this value will be rewritten to | |
| start, instead, with <base>. In cases where some site serves a | |
| large number of repositories, and serves them with multiple | |
| access methods, and some users need to use different access | |
| methods, this feature allows people to specify any of the | |
| equivalent URLs and have Git automatically rewrite the URL to | |
| the best alternative for the particular user, even for a | |
| never-before-seen repository on the site. When more than one | |
| insteadOf strings match a given URL, the longest match is used. | |
| + | |
| Note that any protocol restrictions will be applied to the rewritten | |
| URL. If the rewrite changes the URL to use a custom protocol or remote | |
| helper, you may need to adjust the `protocol.*.allow` config to permit | |
| the request. In particular, protocols you expect to use for submodules | |
| must be set to `always` rather than the default of `user`. See the | |
| description of `protocol.allow` above. | |
| url.<base>.pushInsteadOf:: | |
| Any URL that starts with this value will not be pushed to; | |
| instead, it will be rewritten to start with <base>, and the | |
| resulting URL will be pushed to. In cases where some site serves | |
| a large number of repositories, and serves them with multiple | |
| access methods, some of which do not allow push, this feature | |
| allows people to specify a pull-only URL and have Git | |
| automatically use an appropriate URL to push, even for a | |
| never-before-seen repository on the site. When more than one | |
| pushInsteadOf strings match a given URL, the longest match is | |
| used. If a remote has an explicit pushurl, Git will ignore this | |
| setting for that remote. |