简体中文 ▾
主题 ▾
最新版本 ▾ git-upload-archive 最后更新于 2.39.0
git-upload-archive 手册的更改
设置和配置
获取和创建项目
基本快照
分支与合并
共享和更新项目
检查和比较
打补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.39.1 → 2.52.0 无更改
-
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 指向的提交或树。例如,
gitarchive--remote=originv1.0。 -
客户端可以使用
ref:path语法请求提交或树中的子目录。例如,gitarchive--remote=originv1.0:Documentation。 -
客户端**不**可以使用其他 sha1 表达式,即使最终结果是可访问的。例如,相对提交如
master^或文字 sha1 如abcd1234都不被允许,即使结果可以从 refs 访问。
请注意,规则 3 阻止了许多不涉及隐私问题的场景。这些规则可能会在未来的 git 版本中发生变化,并且 git archive --remote 访问的服务器可能或可能不遵循这些确切的规则。
如果配置选项 uploadArchive.allowUnreachable 为 true,则会忽略这些规则,并且客户端可以使用任意 sha1 表达式。如果您不关心无法访问对象的可访问性,或者您的对象数据库已通过非智能 http 公开访问,则此选项很有用。