git-remote-fd - Man Page

Reflect smart transport stream back to caller

Synopsis

"fd::<infd>[,<outfd>][/<anything>]" (as URL)

Description

This helper uses specified file descriptors to connect to a remote Git server​. This is not meant for end users but for programs and scripts calling git fetch, push, or archive​.

If only <infd> is given, it is assumed to be a bidirectional socket connected to a remote Git server (git-upload-pack, git-receive-pack, or git-upload-archive)​. If both <infd> and <outfd> are given, they are assumed to be pipes connected to a remote Git server (<infd> being the inbound pipe and <outfd> being the outbound pipe)​.

It is assumed that any handshaking procedures have already been completed (such as sending service request for git://) before this helper is started​.

<anything> can be any string​. It is ignored​. It is meant for providing information to the user in the URL in case that URL is displayed in some context​.

Environment Variables

GIT_TRANSLOOP_DEBUG

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

Examples

git fetch fd::17 master

Fetch master, using file descriptor #17 to communicate with git-upload-pack​.

git fetch fd::17/foo master

Same as above​.

git push fd::7,8 master (as URL)

Push master, using file descriptor #7 to read data from git-receive-pack and file descriptor #8 to write data to the same service​.

git push fd::7,8/bar master

Same as above​.

See Also

gitremote-helpers(7)

Git

Part of the git(1) suite

Info

09/28/2026 Git 2.56.0 Git Manual