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.0 11/20/23
- 2.36.1 → 2.42.1 no changes
- 2.36.0 04/18/22
概述
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>
-
Use this to specify the path to git-upload-pack on the remote side, if it is not found on your $PATH. Installations of sshd ignores the user’s environment 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).
- --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
-
详细运行。
- <repository>
-
远程仓库的 URL。
- <refs>…
-
要更新的远程头。这是相对于 $GIT_DIR(例如 "HEAD"、"refs/heads/master")而言的。 如果未指定,则对远端所有头进行更新。
如果远程已启用选项
uploadpack.allowTipSHA1InWant
、uploadpack.allowReachableSHA1InWant
或uploadpack.allowAnySHA1InWant
,它们也可以是远程仓库上的 40-hex sha1。
GIT
属于 git[1] 文档