Documentation / git-fetch-pack.txton commit graph: add commit graph design document (ae30d7b)
   1git-fetch-pack(1)
   2=================
   3
   4NAME
   5----
   6git-fetch-pack - Receive missing objects from another repository
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]
  13        [--upload-pack=<git-upload-pack>]
  14        [--depth=<n>] [--no-progress]
  15        [-v] <repository> [<refs>...]
  16
  17DESCRIPTION
  18-----------
  19Usually you would want to use 'git fetch', which is a
  20higher level wrapper of this command, instead.
  21
  22Invokes 'git-upload-pack' on a possibly remote repository
  23and asks it to send objects missing from this repository, to
  24update the named heads.  The list of commits available locally
  25is found out by scanning the local refs/ hierarchy and sent to
  26'git-upload-pack' running on the other end.
  27
  28This command degenerates to download everything to complete the
  29asked refs from the remote side when the local side does not
  30have a common ancestor commit.
  31
  32
  33OPTIONS
  34-------
  35--all::
  36        Fetch all remote refs.
  37
  38--stdin::
  39        Take the list of refs from stdin, one per line. If there
  40        are refs specified on the command line in addition to this
  41        option, then the refs from stdin are processed after those
  42        on the command line.
  43+
  44If `--stateless-rpc` is specified together with this option then
  45the list of refs must be in packet format (pkt-line). Each ref must
  46be in a separate packet, and the list must end with a flush packet.
  47
  48-q::
  49--quiet::
  50        Pass `-q` flag to 'git unpack-objects'; this makes the
  51        cloning process less verbose.
  52
  53-k::
  54--keep::
  55        Do not invoke 'git unpack-objects' on received data, but
  56        create a single packfile out of it instead, and store it
  57        in the object database. If provided twice then the pack is
  58        locked against repacking.
  59
  60--thin::
  61        Fetch a "thin" pack, which records objects in deltified form based
  62        on objects not included in the pack to reduce network traffic.
  63
  64--include-tag::
  65        If the remote side supports it, annotated tags objects will
  66        be downloaded on the same connection as the other objects if
  67        the object the tag references is downloaded.  The caller must
  68        otherwise determine the tags this option made available.
  69
  70--upload-pack=<git-upload-pack>::
  71        Use this to specify the path to 'git-upload-pack' on the
  72        remote side, if is not found on your $PATH.
  73        Installations of sshd ignores the user's environment
  74        setup scripts for login shells (e.g. .bash_profile) and
  75        your privately installed git may not be found on the system
  76        default $PATH.  Another workaround suggested is to set
  77        up your $PATH in ".bashrc", but this flag is for people
  78        who do not want to pay the overhead for non-interactive
  79        shells by having a lean .bashrc file (they set most of
  80        the things up in .bash_profile).
  81
  82--exec=<git-upload-pack>::
  83        Same as --upload-pack=<git-upload-pack>.
  84
  85--depth=<n>::
  86        Limit fetching to ancestor-chains not longer than n.
  87        'git-upload-pack' treats the special depth 2147483647 as
  88        infinite even if there is an ancestor-chain that long.
  89
  90--shallow-since=<date>::
  91        Deepen or shorten the history of a shallow'repository to
  92        include all reachable commits after <date>.
  93
  94--shallow-exclude=<revision>::
  95        Deepen or shorten the history of a shallow repository to
  96        exclude commits reachable from a specified remote branch or tag.
  97        This option can be specified multiple times.
  98
  99--deepen-relative::
 100        Argument --depth specifies the number of commits from the
 101        current shallow boundary instead of from the tip of each
 102        remote branch history.
 103
 104--no-progress::
 105        Do not show the progress.
 106
 107--check-self-contained-and-connected::
 108        Output "connectivity-ok" if the received pack is
 109        self-contained and connected.
 110
 111-v::
 112        Run verbosely.
 113
 114<repository>::
 115        The URL to the remote repository.
 116
 117<refs>...::
 118        The remote heads to update from. This is relative to
 119        $GIT_DIR (e.g. "HEAD", "refs/heads/master").  When
 120        unspecified, update from all heads the remote side has.
 121+
 122If the remote has enabled the options `uploadpack.allowTipSHA1InWant`,
 123`uploadpack.allowReachableSHA1InWant`, or `uploadpack.allowAnySHA1InWant`,
 124they may alternatively be 40-hex sha1s present on the remote.
 125
 126SEE ALSO
 127--------
 128linkgit:git-fetch[1]
 129
 130GIT
 131---
 132Part of the linkgit:git[1] suite