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