git-fetch-pack(1)
=================

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


SYNOPSIS
--------
[verse]
'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] [-v] [<host>:]<directory> [<refs>...]

DESCRIPTION
-----------
Usually you would want to use 'git fetch', which is a
higher level wrapper of this command, instead.

Invokes 'git-upload-pack' on a possibly 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 the local refs/ hierarchy 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.

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

-k::
--keep::
	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::
	Fetch a "thin" pack, which records objects in deltified form based
	on objects not included in the pack to reduce network traffic.

--include-tag::
	If the remote side supports it, annotated tags objects will
	be downloaded on the same connection as the other objects if
	the object the tag references is downloaded.  The caller must
	otherwise determine the tags this option made available.

--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.

GIT
---
Part of the linkgit:git[1] suite
