Documentación offline Git master
por @raupulus

git-remote-ext

master Ver versión oficial en línea Licencia GPL-2.0Descargado el 2026-09-15 Bundle .md (3.3 MB) ↓

git-remote-ext(1) =================

NAME ---- git-remote-ext - Bridge smart transport to external command.

SYNOPSIS --------

git remote add \<nick> "ext::\<command>[ \<arguments>…]"

DESCRIPTION ----------- This remote helper uses the specified ’\<command>’ to connect to a remote Git server.

Data written to stdin of the specified ’\<command>’ is assumed to be sent to a git:or git-upload-archive (depending on situation), and data read from stdout of \<command> is assumed to be received from the same service.

Command and arguments are separated by an unescaped space.

The following sequences have a special meaning:

’% ’
Literal space in command or argument.

’%%’
Literal percent sign.

’%s’
Replaced with name (receive-pack, upload-pack, or upload-archive) of the service Git wants to invoke.

’%S’
Replaced with long name (git-receive-pack, git-upload-pack, or git-upload-archive) of the service Git wants to invoke.

’%G’ (must be the first characters in an argument)
This argument will not be passed to ’\<command>’. Instead, it will cause the helper to start by sending git: the remote side with the service field set to an appropriate value and the repository field set to the rest of the argument. Default is not to send such a request.

This is useful if the remote side is git:some tunnel.

’%V’ (must be first characters in argument)
This argument will not be passed to ’\<command>’. Instead it sets the vhost field in the git: Default is not to send vhost in such request (if sent).

ENVIRONMENT VARIABLES ---------------------

GIT_TRANSLOOP_DEBUG
If set, prints debugging information about various reads/writes.

ENVIRONMENT VARIABLES PASSED TO COMMAND ---------------------------------------

GIT_EXT_SERVICE
Set to long name (git-upload-pack, etc…) of service helper needs to invoke.

GIT_EXT_SERVICE_NOPREFIX
Set to long name (upload-pack, etc…) of service helper needs to invoke.

EXAMPLES -------- This remote helper is transparently used by Git when you use commands such as "git fetch \<URL>", "git clone \<URL>", , "git push \<URL>" or "git remote add \<nick> \<URL>", where \<URL> begins with ext::. Examples:

"ext

ssh -i /home/foo/.ssh/somekey user@host.example %S ’foo/repo’"
Like host.example:foo/repo, but use /home/foo/.ssh/somekey as keypair and user as the user on the remote side. This avoids the need to edit .ssh/config.

"ext

socat -t3600 - ABSTRACT-CONNECT:/git-server %G/somerepo"
Represents repository with path /somerepo accessible over git protocol at the abstract namespace address /git-server.

"ext

git-server-alias foo %G/repo"
Represents a repository with path /repo accessed using the helper program "git-server-alias foo". The path to the repository and type of request are not passed on the command line but as part of the protocol stream, as usual with git:// protocol.

"ext

git-server-alias foo %G/repo %Vfoo"
Represents a repository with path /repo accessed using the helper program "git-server-alias foo". The hostname for the remote server passed in the protocol stream will be "foo" (this allows multiple virtual Git servers to share a link-level address).

"ext

git-server-alias foo %G/repo% with% spaces %Vfoo"
Represents a repository with path /repo with spaces accessed using the helper program "git-server-alias foo". The hostname for the remote server passed in the protocol stream will be "foo" (this allows multiple virtual Git servers to share a link-level address).

"ext

git-ssl foo.example /bar"
Represents a repository accessed using the helper program "git-ssl foo.example /bar". The type of request can be determined by the helper using environment variables (see above).

SEE ALSO -------- gitremote-helpers

GIT --- Part of the git suite