简体中文 ▾
主题 ▾
最新版本 ▾ git-upload-archive 最后更新于 2.39.0
git-upload-archive 手册中的更改
设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.39.1 → 2.50.1 无更改
-
2.39.0
2022-12-12
- 2.7.6 → 2.38.5 无更改
-
2.6.7
2017-05-05
- 2.1.4 → 2.5.6 无更改
-
2.0.5
2014-12-17
描述
由 git archive --remote 调用,并通过 Git 协议将生成的归档发送到另一端。
此命令通常不直接由最终用户调用。该协议的用户界面在 git archive 这一侧,这对程序旨在用于从远程仓库获取归档。
安全性
为了保护已从历史记录中删除但可能尚未修剪的对象的隐私,git-upload-archive
避免为无法从仓库引用(refs)访问到的提交和树提供归档。然而,由于计算对象可达性计算成本高昂,git-upload-archive
实施了一套更严格但更容易检查的规则
-
客户端可以请求直接由引用(ref)指向的提交或树。例如,
git
archive
--remote=origin
v1.0
。 -
客户端可以使用
ref:path
语法请求提交或树中的子树。例如,git
archive
--remote=origin
v1.0:Documentation
。 -
客户端不允许使用其他 SHA-1 表达式,即使最终结果是可达的。例如,无论是像
master^
这样的相对提交,还是像abcd1234
这样的字面 SHA-1 都不允许,即使结果可以从引用(refs)访问到。
请注意,规则 3 禁止了许多没有隐私影响的情况。这些规则在 Git 的未来版本中可能会有所更改,并且通过 git
archive
--remote
访问的服务器可能不会完全遵循这些规则。
如果配置选项 uploadArchive.allowUnreachable
为 true,则这些规则将被忽略,客户端可以使用任意 SHA-1 表达式。如果您不关心不可达对象的隐私,或者您的对象数据库已经可以通过非智能 HTTP 方式公开访问,那么这会很有用。