设置和配置
获取和创建项目
基本快照
分支和合并
共享和更新项目
检查和比较
补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.45.2 → 2.49.0 无更改
-
2.45.1
2024-04-29
- 2.45.0 无更改
- 2.44.2 → 2.44.3 无更改
-
2.44.1
2024-04-19
- 2.44.0 无更改
- 2.43.5 → 2.43.6 无更改
-
2.43.4
2024-04-19
- 2.43.1 → 2.43.3 无更改
- 2.43.0 无更改
- 2.42.3 → 2.42.4 无更改
-
2.42.2
2024-04-19
- 2.42.1 无更改
- 2.42.0 无更改
- 2.41.2 → 2.41.3 无更改
-
2.41.1
2024-04-19
- 2.41.0 无更改
- 2.40.3 → 2.40.4 无更改
-
2.40.2
2024-04-19
- 2.40.1 无更改
- 2.40.0 无更改
- 2.39.5 无更改
-
2.39.4
2024-04-19
- 2.38.1 → 2.39.3 无更改
-
2.38.0
2022-10-02
- 2.34.1 → 2.37.7 无更改
-
2.34.0
2021-11-15
- 2.21.1 → 2.33.8 无更改
- 2.21.0 无更改
- 2.19.3 → 2.20.5 无更改
-
2.19.2
2018-11-21
- 2.11.4 → 2.19.1 无更改
-
2.10.5
2017-09-22
- 2.1.4 → 2.9.5 无更改
-
2.0.5
2014-12-17
描述
由 git fetch-pack 调用,了解对方缺少哪些对象,并在打包后发送它们。
此命令通常不由最终用户直接调用。 协议的 UI 在 git fetch-pack 端,该程序对旨在用于从远程存储库中提取更新。 有关推送操作,请参阅 git send-pack。
选项
- --[no-]strict
-
如果 <directory> 不是 Git 目录,则不要尝试 <directory>/.git/。
- --timeout=<n>
-
在 <n> 秒不活动后中断传输。
- --stateless-rpc
-
仅使用 stdin 和 stdout 执行单个读写周期。 这与 HTTP POST 请求处理模型相符,在该模型中,程序可以读取请求、写入响应并且必须退出。
- --http-backend-info-refs
-
由 git-http-backend[1] 用于提供
$GIT_URL/info/refs?service=git-upload-pack
请求。 请参阅 gitprotocol-http[5] 中的“智能客户端”和 gitprotocol-v2[5] 文档中的“HTTP 传输”。 git-receive-pack[1] 也理解。 - <directory>
-
要从中同步的存储库。
环境
-
GIT_PROTOCOL
-
用于握手线路协议的内部变量。 服务器管理员可能需要配置某些传输以允许传递此变量。 请参阅 git[1] 中的讨论。
-
GIT_NO_LAZY_FETCH
-
从部分存储库(即,本身使用
--filter
克隆的存储库)克隆或获取时,服务器端upload-pack
可能需要从其上游获取额外的对象才能完成请求。 默认情况下,upload-pack
将拒绝执行此类延迟获取,因为git fetch
可能会运行源存储库的配置和钩子中指定的任意命令(并且upload-pack
试图安全地运行,即使在不受信任的.git
目录中)。这是通过让
upload-pack
在内部将GIT_NO_LAZY_FETCH
变量设置为1
来实现的。 如果您想覆盖它(因为您正在从部分克隆中获取,并且您确定您信任它),您可以显式地将GIT_NO_LAZY_FETCH
设置为0
。
安全性
大多数 Git 命令不应在不受信任的 .git
目录中运行(请参阅 git[1] 中的 SECURITY
部分)。 upload-pack
试图避免它所服务的存储库中的任何危险配置选项或钩子,使其可以安全地克隆不受信任的目录并在生成的克隆上运行命令。
为了额外的安全级别,您可以尝试以备用用户身份运行 upload-pack
。 详细信息将取决于平台,但在许多系统上您可以运行
git clone --no-local --upload-pack='sudo -u nobody git-upload-pack' ...
GIT
属于 git[1] 套件的一部分