简体中文 ▾ 主题 ▾ 最新版本 ▾ git-fetch-pack 最后更新于 2.48.0

名称

git-fetch-pack - 从另一个仓库接收丢失的对象

概要

git fetch-pack [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]
	[--upload-pack=<git-upload-pack>]
	[--depth=<n>] [--no-progress]
	[-v] <repository> [<refs>…​]

描述

通常您应该使用 git fetch,它是此命令的更高级包装器。

在可能远程的仓库上调用 git-upload-pack,并要求它发送此仓库中丢失的对象,以更新命名的 heads。本地可用的提交列表通过扫描本地 refs/ 层级结构来确定,并发送到另一端的 git-upload-pack

当本地端没有共同祖先提交时,此命令会退化为下载所有内容以完成远程端请求的 refs。

选项

--all

获取所有远程 refs。

--stdin

从 stdin 获取 refs 列表,每行一个。如果除了此选项外,命令还指定了 refs,则 stdin 中的 refs 将在命令行中的 refs 之后进行处理。

如果同时指定了 --stateless-rpc 和此选项,则 refs 列表必须采用 packet 格式 (pkt-line)。每个 ref 必须在单独的 packet 中,并且列表必须以 flush packet 结尾。

-q
--quiet

-q 标志传递给 git unpack-objects;这使得克隆过程不那么冗长。

-k
--keep

不要对接收到的数据调用 git unpack-objects,而是从中创建一个单独的 packfile,并将其存储在对象数据库中。如果提供两次,则 pack 会被锁定,防止重新打包。

--thin

获取一个“thin” pack,它以基于 pack 中未包含的对象的形式进行 deltified 存储,以减少网络流量。

--include-tag

如果远程端支持,带注释的标签对象将在与其它对象相同的连接上下载,前提是标签引用的对象也被下载。调用者必须另外确定此选项提供的标签。

--upload-pack=<git-upload-pack>

使用此选项指定远程端的 git-upload-pack 的路径,如果它不在您的 $PATH 中。sshd 的安装会忽略登录 shell 的用户环境设置脚本 (例如 .bash_profile),并且您私有安装的 git 可能不在系统的默认 $PATH 中。另一个建议的解决方法是在 ".bashrc" 中设置您的 $PATH,但这适用于那些不想为非交互式 shell 支付额外开销(通过精简 .bashrc 文件)的人(他们将大部分内容设置在 .bash_profile 中)。

--exec=<git-upload-pack>

与 --upload-pack=<git-upload-pack> 相同。

--depth=<n>

将获取限制在不超过 n 的祖先链。git-upload-pack 将特殊深度 2147483647 视为无限,即使存在这么长的祖先链。

--shallow-since=<date>

深化或缩短浅克隆仓库的历史记录,以包含 <date> 之后所有可达的提交。

--shallow-exclude=<ref>

深化或缩短浅克隆仓库的历史记录,以排除从指定远程分支或标签可达的提交。此选项可以多次指定。

--deepen-relative

参数 --depth 指定的是当前浅层边界的提交数量,而不是每个远程分支历史的尖端提交数量。

--refetch

跳过与服务器的提交协商,以获取所有匹配的对象。用于重新应用新的部分克隆 Blob/Tree 过滤器。

--no-progress

不显示进度。

--check-self-contained-and-connected

如果接收到的 pack 是自包含且连接的,则输出 "connectivity-ok"。

-v

运行详细模式。

<repository>

远程仓库的 URL。

<refs>…​

要从中更新的远程 heads。这相对于 $GIT_DIR (例如 "HEAD", "refs/heads/master")。未指定时,从远程端拥有的所有 heads 更新。

如果远程端启用了 uploadpack.allowTipSHA1InWant, uploadpack.allowReachableSHA1InWant, 或 uploadpack.allowAnySHA1InWant 选项,它们也可以是远程端存在的 40 位十六进制 sha1。

另请参阅

GIT

Git[1] 套件的一部分