Merge branch 'ds/for-each-ref-is-base'
[git/gitster.git] / Documentation / git-fetch-pack.txt
blobb3467664d30bde111af06ec0e915e6def2b1b4b2
1 git-fetch-pack(1)
2 =================
4 NAME
5 ----
6 git-fetch-pack - Receive missing objects from another repository
9 SYNOPSIS
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>...]
17 DESCRIPTION
18 -----------
19 Usually you would want to use 'git fetch', which is a
20 higher level wrapper of this command, instead.
22 Invokes 'git-upload-pack' on a possibly remote repository
23 and asks it to send objects missing from this repository, to
24 update the named heads.  The list of commits available locally
25 is found out by scanning the local refs/ hierarchy and sent to
26 'git-upload-pack' running on the other end.
28 This command degenerates to download everything to complete the
29 asked refs from the remote side when the local side does not
30 have a common ancestor commit.
33 OPTIONS
34 -------
35 --all::
36         Fetch all remote refs.
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.
44 If `--stateless-rpc` is specified together with this option then
45 the list of refs must be in packet format (pkt-line). Each ref must
46 be in a separate packet, and the list must end with a flush packet.
48 -q::
49 --quiet::
50         Pass `-q` flag to 'git unpack-objects'; this makes the
51         cloning process less verbose.
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.
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.
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.
70 --upload-pack=<git-upload-pack>::
71         Use this to specify the path to 'git-upload-pack' on the
72         remote side, if it 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).
82 --exec=<git-upload-pack>::
83         Same as --upload-pack=<git-upload-pack>.
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.
90 --shallow-since=<date>::
91         Deepen or shorten the history of a shallow repository to
92         include all reachable commits after <date>.
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.
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.
104 --refetch::
105         Skips negotiating commits with the server in order to fetch all matching
106         objects. Use to reapply a new partial clone blob/tree filter.
108 --no-progress::
109         Do not show the progress.
111 --check-self-contained-and-connected::
112         Output "connectivity-ok" if the received pack is
113         self-contained and connected.
115 -v::
116         Run verbosely.
118 <repository>::
119         The URL to the remote repository.
121 <refs>...::
122         The remote heads to update from. This is relative to
123         $GIT_DIR (e.g. "HEAD", "refs/heads/master").  When
124         unspecified, update from all heads the remote side has.
126 If the remote has enabled the options `uploadpack.allowTipSHA1InWant`,
127 `uploadpack.allowReachableSHA1InWant`, or `uploadpack.allowAnySHA1InWant`,
128 they may alternatively be 40-hex sha1s present on the remote.
130 SEE ALSO
131 --------
132 linkgit:git-fetch[1]
136 Part of the linkgit:git[1] suite