简体中文 ▾ 主题 ▾ 最新版本 ▾ git-upload-archive 最后更新于 2.39.0

名称

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

概要

git upload-archive <repository>

描述

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^ 或文字 sha1 如 abcd1234 都不被允许,即使结果可以从 refs 访问。

请注意,规则 3 阻止了许多不涉及隐私问题的场景。这些规则可能会在未来的 git 版本中发生变化,并且 git archive --remote 访问的服务器可能或可能不遵循这些确切的规则。

如果配置选项 uploadArchive.allowUnreachable 为 true,则会忽略这些规则,并且客户端可以使用任意 sha1 表达式。如果您不关心无法访问对象的可访问性,或者您的对象数据库已通过非智能 http 公开访问,则此选项很有用。

选项

<repository>

从中获取 tar 存档的存储库。

GIT

Git[1] 套件的一部分