设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.48.1 → 2.52.0 无更改
-
2.48.0
2025-01-10
- 2.43.1 → 2.47.3 无更改
-
2.43.0
2023-11-20
- 2.36.1 → 2.42.4 无变更
-
2.36.0
2022-04-18
- 2.18.1 → 2.35.8 无变更
-
2.18.0
2018-06-21
- 2.12.5 → 2.17.6 无更改
-
2.11.4
2017-09-22
- 2.10.5 无更改
-
2.9.5
2017-07-30
-
2.8.6
2017-07-30
- 2.5.6 → 2.7.6 无变更
-
2.4.12
2017-05-05
- 2.1.4 → 2.3.10 无更改
-
2.0.5
2014-12-17
概要
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。