---
name: "git-remote-fd"
section: "1"
platform: "linux"
package: "git"
version: "2.56.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/git-remote-fd"
---

# git-remote-fd(1)

Reflect smart transport stream back to caller

## NAME

git-remote-fd - 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)](/gitremote-helpers/7.md)

## GIT

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