簡體中文 ▾ 主題 ▾ 最新版本 ▾ 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] 套件的一部分