GIT-REMOTE-FD(1) Git Manual GIT-REMOTE-FD(1)

# [NAME](#NAME)

git-remote-fd - Reflect smart transport stream back to caller

# [SYNOPSIS](#SYNOPSIS)

"fd::&lt;infd&gt;\[,&lt;outfd&gt;]\[/&lt;anything&gt;]" (as URL)

# [DESCRIPTION](#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 &lt;infd&gt; 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 &lt;infd&gt; and &lt;outfd&gt; are given, they are assumed to be pipes connected to a remote Git server (&lt;infd&gt; being the inbound pipe and &lt;outfd&gt; 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.

&lt;anything&gt; 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](#ENVIRONMENT_VARIABLES)

GIT\_TRANSLOOP\_DEBUG

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

# [EXAMPLES](#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](#SEE_ALSO)

[**gitremote-helpers**(7)](/man/os/git/gitremote-helpers.7)

# [GIT](#GIT)

Part of the [**git**(1)](/man/os/git/git.1) suite

2026-06-29 Git 2.55.0

---

Document: git-remote-fd(1) from git 2.55.0-r8 (Chainguard OS)
Source: https://kernel.googlesource.com/pub/scm/git/git.git
