| 1 | git-fetch-pack(1) |
| 2 | ================= |
| 3 | |
| 4 | NAME |
| 5 | ---- |
| 6 | git-fetch-pack - Receive missing objects from another repository |
| 7 | |
| 8 | |
| 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>...] |
| 16 | |
| 17 | DESCRIPTION |
| 18 | ----------- |
| 19 | Usually you would want to use 'git fetch', which is a |
| 20 | higher level wrapper of this command, instead. |
| 21 | |
| 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. |
| 27 | |
| 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. |
| 31 | |
| 32 | |
| 33 | OPTIONS |
| 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 | + |
| 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. |
| 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 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). |
| 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=<ref>:: |
| 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 | --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. |
| 107 | |
| 108 | --no-progress:: |
| 109 | Do not show the progress. |
| 110 | |
| 111 | --check-self-contained-and-connected:: |
| 112 | Output "connectivity-ok" if the received pack is |
| 113 | self-contained and connected. |
| 114 | |
| 115 | -v:: |
| 116 | Run verbosely. |
| 117 | |
| 118 | <repository>:: |
| 119 | The URL to the remote repository. |
| 120 | |
| 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. |
| 125 | + |
| 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. |
| 129 | |
| 130 | SEE ALSO |
| 131 | -------- |
| 132 | linkgit:git-fetch[1] |
| 133 | |
| 134 | GIT |
| 135 | --- |
| 136 | Part of the linkgit:git[1] suite |