Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.43.1 → 2.47.0 no changes
- 2.43.0 11/20/23
- 2.36.1 → 2.42.3 no changes
- 2.36.0 04/18/22
- 2.18.1 → 2.35.8 no changes
- 2.18.0 06/21/18
- 2.12.5 → 2.17.6 no changes
- 2.11.4 09/22/17
- 2.10.5 no changes
- 2.9.5 07/30/17
- 2.8.6 07/30/17
- 2.5.6 → 2.7.6 no changes
- 2.4.12 05/05/17
- 2.1.4 → 2.3.10 no changes
- 2.0.5 12/17/14
概述
git fetch-pack [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] [-v] <仓库> [<多个引用>…]
描述
通常情况下,您需要使用 git fetch,它是该命令的更高级封装。
在可能的远程仓库中调用 git-upload-pack,并要求它发送该仓库中缺失的对象,以更新指定的头。 通过扫描本地 refs/ 层次结构,找出本地可用的提交列表,然后发送给另一端运行的 git-upload-pack。
当本地端没有共同祖先提交时,该命令会退化为从远程端下载所有内容以完成所请求的引用。
选项
- --all
-
获取所有远程引用。
- --stdin
-
从标准输入流获取各个引用列表,每行一个。如果命令行中除此选项外还指定了其他引用,则会在处理命令行中的引用后再处理来自标准输入流的多个引用。
如果与此选项一起指定了
--stateless-rpc
,那么引用列表必须是数据包格式(pkt-line)。每个引用必须在一个单独的数据包中,并且列表必须以清除数据包结束。 - -q
- --quiet
-
向 git unpack-objects 传递
-q
标志;这会使克隆过程不那么冗长。 - -k
- --keep
-
不要对接收到的数据调用 git unpack-objects,而是将其创建为一个单独的数据包文件,并将其存储在对象数据库中。如果提供两次,则会锁定数据包,防止重新打包。
- --thin
-
获取 “精简” 数据包,根据未包含在数据包中的对象,以简化形式记录对象,以减少网络流量。
- --include-tag
-
如果远端支持该选项,则在下载标记引用的对象时,注释标记对象将与其他对象在同一连接上下载。 否则,调用者必须确定该选项提供的标记。
- --upload-pack=<git-upload-pack>
-
如果在您的 $PATH 中找不到 git-upload-pack,则用它来指定远端 git-upload-pack 的路径。 安装 sshd 时会忽略用户登录 shell 的环境设置脚本(例如 .bash_profile),因此系统默认的 $PATH 中可能找不到用户自行安装的 git。 另一种变通方法是在 ".bashrc" 中设置 $PATH,但这种方法只适用于不想为非交互式 shell 支付额外费用的用户(他们会在 .bash_profile 中设置大部分内容)。
- --exec=<git-upload-pack>
-
与 --upload-pack=<git-upload-pack> 相同。
- --depth=<n>
-
git-upload-pack 将特殊深度 2147483647 视为无穷大,即使存在这么长的祖先链。
- --shallow-since=<日期>
-
加深或缩短浅层仓库的历史,包括<日期>之后所有可触及的提交。
- --shallow-exclude=<修订版本>
-
深化或缩短浅层版本库的历史,以排除从指定的远程分支或标记中可以到达的提交。 这个选项可以指定多次。
- --deepen-relative
-
参数 --depth 指定从当前浅边界开始的提交次数,而不是从每个远程分支历史的顶端开始的提交次数。
- --refetch
-
跳过与服务器的协商提交,以获取所有匹配对象。用于重新应用新的部分克隆 blob/tree 过滤器。
- --no-progress
-
不要显示进度。
- --check-self-contained-and-connected
-
如果接收到的数据包是独立的且已连接,则输出 "connectivity-ok"(连接正常)。
- -v
-
详细运行。
- <仓库>
-
远程仓库的 URL。
- <引用>…
-
要更新的远程头。这是相对于 $GIT_DIR(例如 "HEAD"、"refs/heads/master")而言的。 如果未指定,则对远端所有头进行更新。
如果远程已启用选项
uploadpack.allowTipSHA1InWant
、uploadpack.allowReachableSHA1InWant
或uploadpack.allowAnySHA1InWant
,它们也可以是远程仓库上的 40-hex sha1。
GIT
属于 git[1] 文档