mirror of
https://github.com/git/git.git
synced 2024-12-12 11:24:02 +08:00
55029ae4da
This allows users with different preferences for access methods to the same remote repositories to rewrite each other's URLs by pattern matching across a large set of similiarly set up repositories to each get the desired access. For example, if you don't have a kernel.org account, you might want settings like: [url "git://git.kernel.org/pub/"] insteadOf = master.kernel.org:/pub Then, if you give git a URL like: master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.git it will act like you gave it: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git and you can cut-and-paste pull requests in email without fixing them by hand, for example. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
70 lines
2.3 KiB
Plaintext
70 lines
2.3 KiB
Plaintext
GIT URLS[[URLS]]
|
|
----------------
|
|
|
|
One of the following notations can be used
|
|
to name the remote repository:
|
|
|
|
===============================================================
|
|
- rsync://host.xz/path/to/repo.git/
|
|
- http://host.xz/path/to/repo.git/
|
|
- https://host.xz/path/to/repo.git/
|
|
- git://host.xz/path/to/repo.git/
|
|
- git://host.xz/~user/path/to/repo.git/
|
|
- ssh://{startsb}user@{endsb}host.xz{startsb}:port{endsb}/path/to/repo.git/
|
|
- ssh://{startsb}user@{endsb}host.xz/path/to/repo.git/
|
|
- ssh://{startsb}user@{endsb}host.xz/~user/path/to/repo.git/
|
|
- ssh://{startsb}user@{endsb}host.xz/~/path/to/repo.git
|
|
===============================================================
|
|
|
|
SSH is the default transport protocol over the network. You can
|
|
optionally specify which user to log-in as, and an alternate,
|
|
scp-like syntax is also supported. Both syntaxes support
|
|
username expansion, as does the native git protocol, but
|
|
only the former supports port specification. The following
|
|
three are identical to the last three above, respectively:
|
|
|
|
===============================================================
|
|
- {startsb}user@{endsb}host.xz:/path/to/repo.git/
|
|
- {startsb}user@{endsb}host.xz:~user/path/to/repo.git/
|
|
- {startsb}user@{endsb}host.xz:path/to/repo.git
|
|
===============================================================
|
|
|
|
To sync with a local directory, you can use:
|
|
|
|
===============================================================
|
|
- /path/to/repo.git/
|
|
- file:///path/to/repo.git/
|
|
===============================================================
|
|
|
|
ifndef::git-clone[]
|
|
They are mostly equivalent, except when cloning. See
|
|
linkgit:git-clone[1] for details.
|
|
endif::git-clone[]
|
|
|
|
ifdef::git-clone[]
|
|
They are equivalent, except the former implies --local option.
|
|
endif::git-clone[]
|
|
|
|
|
|
If there are a large number of similarly-named remote repositories and
|
|
you want to use a different format for them (such that the URLs you
|
|
use will be rewritten into URLs that work), you can create a
|
|
configuration section of the form:
|
|
|
|
------------
|
|
[url "<actual url base>"]
|
|
insteadOf = <other url base>
|
|
------------
|
|
|
|
For example, with this:
|
|
|
|
------------
|
|
[url "git://git.host.xz/"]
|
|
insteadOf = host.xz:/path/to/
|
|
insteadOf = work:
|
|
------------
|
|
|
|
a URL like "work:repo.git" or like "host.xz:/path/to/repo.git" will be
|
|
rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".
|
|
|