设置和配置
获取和创建项目
基本快照
分支和合并
共享和更新项目
检查和比较
修补
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.43.1 → 2.47.0 无更改
- 2.43.0 11/20/23
- 2.36.1 → 2.42.3 无更改
- 2.36.0 04/18/22
- 2.18.1 → 2.35.8 无更改
- 2.18.0 06/21/18
- 2.12.5 → 2.17.6 无更改
- 2.11.4 09/22/17
- 2.10.5 无更改
- 2.9.5 07/30/17
- 2.8.6 07/30/17
- 2.5.6 → 2.7.6 无更改
- 2.4.12 05/05/17
- 2.1.4 → 2.3.10 无更改
- 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] <repository> [<refs>…]
描述
通常您会想要使用git fetch,它是在此命令之上更高层次的封装。
在可能远程的存储库上调用git-upload-pack,并请求它发送此存储库中缺少的对象,以更新命名的分支头。通过扫描本地 refs/ 层次结构找到本地可用的提交列表,并将其发送到另一端运行的git-upload-pack。
当本地端没有共同的祖先提交时,此命令会退化为下载所有内容以完成来自远程端的请求分支头。
选项
- --all
-
获取所有远程分支头。
- --stdin
-
从标准输入获取分支头列表,每行一个。如果除了此选项之外,命令行上还指定了分支头,则在命令行上的分支头之后处理标准输入中的分支头。
如果
--stateless-rpc
与此选项一起指定,则分支头列表必须为数据包格式 (pkt-line)。每个分支头必须位于单独的数据包中,并且列表必须以刷新数据包结束。 - -q
- --quiet
-
将
-q
标志传递给git unpack-objects;这使得克隆过程不那么冗长。 - -k
- --keep
-
不要在接收到的数据上调用git unpack-objects,而是创建一个包含它的单个打包文件,并将其存储在对象数据库中。如果提供两次,则打包文件将被锁定以防止重新打包。
- --thin
-
获取“精简”打包文件,该文件以基于未包含在打包文件中的对象的增量形式记录对象,以减少网络流量。
- --include-tag
-
如果远程端支持,则如果下载了标签引用的对象,则将在与其他对象相同的连接上下载带注释的标签对象。否则,调用者必须确定此选项提供的标签。
- --upload-pack=<git-upload-pack>
-
如果在您的 $PATH 上找不到远程端上的git-upload-pack,则使用此选项指定其路径。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=<revision>
-
加深或缩短浅层存储库的历史记录,以排除从指定的远程分支或标签可访问的提交。此选项可以多次指定。
- --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 个十六进制 sha1。
Git
是 git[1] 套件的一部分