# git-fetch-pack(1) Manual Page

## NAME

git-fetch-pack - Receive missing objects from another repository

## SYNOPSIS

git-fetch-pack [--all] [--quiet|-q] [--keep|-k] [--thin] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] [-v] [<host>:]<directory> [<refs>…]

## DESCRIPTION

Usually you would want to use git-fetch(1) which is a higher level wrapper of this command instead.

Invokes git-upload-pack on a potentially remote repository, and asks it to send objects missing from this repository, to update the named heads. The list of commits available locally is found out by scanning local $GIT_DIR/refs/ and sent to git-upload-pack running on the other end.

This command degenerates to download everything to complete the asked refs from the remote side when the local side does not have a common ancestor commit.

## OPTIONS

--all

  Fetch all remote refs.

--quiet, \-q

  Pass -q flag to git-unpack-objects; this makes the cloning process less verbose.

--keep, \-k

  Do not invoke git-unpack-objects on received data, but create a single packfile out of it instead, and store it in the object database. If provided twice then the pack is locked against repacking.

--thin

  Spend extra cycles to minimize the number of objects to be sent. Use it on slower connection.

--upload-pack=<git-upload-pack>

  Use this to specify the path to git-upload-pack on the remote side, if is not found on your $PATH. Installations of sshd ignores the user's environment setup scripts for login shells (e.g. .bash_profile) and your privately installed git may not be found on the system default $PATH. Another workaround suggested is to set up your $PATH in ".bashrc", but this flag is for people who do not want to pay the overhead for non-interactive shells by having a lean .bashrc file (they set most of the things up in .bash_profile).

--exec=<git-upload-pack>

  Same as --upload-pack=<git-upload-pack>.

--depth=<n>

  Limit fetching to ancestor-chains not longer than n.

--no-progress

  Do not show the progress.

\-v

  Run verbosely.

<host>

  A remote host that houses the repository. When this part is specified, git-upload-pack is invoked via ssh.

<directory>

  The repository to sync from.

<refs>…

  The remote heads to update from. This is relative to $GIT_DIR (e.g. "HEAD", "refs/heads/master"). When unspecified, update from all heads the remote side has.

## Author

Written by Linus Torvalds <torvalds@osdl.org>

## Documentation

Documentation by Junio C Hamano.

## GIT

Part of the git(7) suite