man pages section 1: User Commands

Exit Print View

Updated: July 2014

git-fetch-pack (1)


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


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


Git Manual                                      GIT-FETCH-PACK(1)

     git-fetch-pack - Receive missing objects from another

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

     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.

         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.

         Fetch a "thin" pack, which records objects in deltified
         form based on objects not included in the pack to reduce
         network traffic.

         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.

         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

Git          Last change: 02/22/2012                    1

Git Manual                                      GIT-FETCH-PACK(1)

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

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

         Limit fetching to ancestor-chains not longer than n.

         Do not show the progress.

         Run verbosely.

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

         The repository to sync from.

         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.

     Part of the git(1) suite

     See attributes(5) for descriptions of the following

     |Availability   | developer/versioning/git |
     |Stability      | Uncommitted              |
     This software was built from source available at  The original
     community source was downloaded from  http://git-

Git          Last change: 02/22/2012                    2

Git Manual                                      GIT-FETCH-PACK(1)

     Further information about this software can be found on the
     open source community website at

Git          Last change: 02/22/2012                    3