Git

名称

git-upload-archive - 将存档发回 git-archive

概述

git upload-archive <仓库>

描述

git archive—​remote 调用,通过 Git 协议向另一端发送生成的归档文件。

终端用户通常不会直接调用该命令。 该协议的用户界面在 git archive(存档)端,程序对用于从远程仓库获取存档。

安全

为了保护已从历史中删除但可能尚未被剪枝的对象的隐私,git-upload-archive 避免为从版本库的 refs 无法访问的提交和树提供存档。 不过,由于计算对象可达性的计算成本很高,git-upload-archive 实现了一套更严格但更容易检查的规则:

  1. 客户端可以请求由 ref 直接指向的提交或树。例如,git archive --remote=origin v1.0

  2. 客户端可以使用 ref:path 语法请求提交或树中的子树。例如,git archive --remote=origin v1.0:Documentation

  3. 客户端不得_使用其他 sha1 表达式,即使最终结果是可达的。例如,既不允许使用像 master^ 这样的相对提交,也不允许使用像 abcd1234 这样的字面 sha1 表达式,即便结果能够从引用中找到。

请注意,规则 3 不允许许多不涉及隐私的情况。这些规则可能会在未来的 git 版本中修改,而通过 git archive --remote 访问的服务器可能会也可能不会完全遵循这些规则。

如果配置选项 uploadArchive.allowUnreachable 为 true,这些规则将被忽略,客户端可以使用任意的 sha1 表达式。 如果你不关心无法访问对象的隐私,或者如果你的对象数据库已经公开,可以通过非智能 HTTP 访问,那么这将非常有用。

选项

<仓库>

要获取 tar 压缩包的仓库。

GIT

属于 git[1] 文档

scroll-to-top