git-send-pack
Transmit objects to another repository
SYNOPSIS
git send-pack [--all] [--thin] [--atomic] [--receive-pack=
PARAMETERS
--all
Pretend as if all refs under
--thin
Generate a thin pack, which records objects in deltified form based on objects not included in the pack to reduce network traffic.
--atomic
Request atomic transaction on the remote side. The remote either updates all refs or none.
--receive-pack=
Path to git-receive-pack on the remote side. Defaults to git-receive-pack.
--advertise-refs
After creating the packfile, send the refs available at the repository with their current object names. Can be used to get a remote repository's refs.
The repository to read objects from.
List of refs to send to the other side.
DESCRIPTION
The git-send-pack command is typically used by git fetch-pack on the remote end to receive objects from another repository. It takes a list of object names or revisions to send from the sending end, packs them into a pack file, and sends it to the receiving end via standard output.
Essentially, it is a helper command invoked by git fetch-pack and similar commands during a 'git fetch' or 'git push' operation to transfer the necessary objects. It isn't usually directly invoked by the end-user, but rather runs as part of the internal plumbing of Git's object transfer mechanism.
git-send-pack builds a packfile containing the objects requested by the receiver and transmits the packfile. It also sends ref updates to the receiving end, if any ref updates were requested.
CAVEATS
This is a plumbing command and is not intended for end-users. It is used by git fetch-pack and git push.
SECURITY CONSIDERATIONS
Since this command may invoke shell commands on the remote end via ssh, pay careful attention to the setting of receive.advertisePushOptions and receive.fsck.* configuration variables. An appropriate setting for the security conscious would be:
git config --system receive.advertisePushOptions false
git config --system receive.fsck.error die
SEE ALSO
git-fetch-pack(1), git-receive-pack(1), git-pack-objects(1)