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