English ▾ 主題 ▾ 最新版本 ▾ git-fetch-pack 最後更新於 2.48.0

名稱

git-fetch-pack - 從另一個儲存庫接收遺失的物件

概要

git fetch-pack [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag]
	[--upload-pack=<git-upload-pack>]
	[--depth=<n>] [--no-progress]
	[-v] <repository> [<refs>…​]

描述

通常您應該改用 git fetch,它是此指令的高階封裝。

在可能的遠端儲存庫上呼叫 git-upload-pack,並要求它發送本儲存庫所缺少的物件,以更新指定的參照(heads)。透過掃描本地的 refs/ 層級來找出本地可用的提交列表,並發送給在遠端運行的 git-upload-pack

當本地端沒有共同的祖先提交時,此指令會退化為下載所有內容,以完成遠端要求更新的參照。

選項

--all

獲取所有遠端參照。

--stdin

從 stdin 獲取參照列表,每行一個。除了此選項外,如果命令列還指定了參照,則 stdin 中的參照會在命令列的參照之後處理。

如果同時指定了 --stateless-rpc 選項,則參照列表必須採用封包格式 (pkt-line)。每個參照必須在獨立的封包中,且列表必須以一個 flush 封包結束。

-q
--quiet

-q 旗標傳遞給 git unpack-objects;這會讓複製過程減少輸出資訊。

-k
--keep

不要在接收到的資料上呼叫 git unpack-objects,而是將其建立為單個封裝檔 (packfile) 並儲存到物件資料庫中。如果提供兩次,則該封裝檔會被鎖定,防止被重新封裝。

--thin

獲取一個「瘦」封裝檔(thin pack),它以差異化形式記錄物件,並基於封裝檔中未包含的物件來減少網路流量。

--include-tag

如果遠端支援,當下載標籤所參考的物件時,註解標籤(annotated tags)物件將透過與其他物件相同的連線進行下載。否則,呼叫者必須自行確認此選項所提供的標籤。

--upload-pack=<git-upload-pack>

如果遠端的 git-upload-pack 不在您的 $PATH 中,請使用此參數指定其路徑。sshd 的安裝會忽略使用者登入 Shell 的環境設定腳本(例如 .bash_profile),因此可能無法在系統預設的 $PATH 中找到您私下安裝的 git。另一種建議的變通方法是在 ".bashrc" 中設定您的 $PATH,但此旗標適合那些不想因擁有一個精簡的 .bashrc 檔案而支付非互動式 Shell 額外開銷的人(他們將大部分設定放在 .bash_profile 中)。

--exec=<git-upload-pack>

與 --upload-pack=<git-upload-pack> 相同。

--depth=<n>

將獲取限制為不超過 n 的祖先鏈。git-upload-pack 將特殊的深度 2147483647 視為無限,即使存在那麼長的祖先鏈也是如此。

--shallow-since=<date>

加深或縮短淺層儲存庫的歷史紀錄,以包含 <date> 之後所有可到達的提交。

--shallow-exclude=<ref>

加深或縮短淺層儲存庫的歷程記錄,以排除從指定遠端分支或標籤可連接的提交。此選項可以指定多次。

--deepen-relative

參數 --depth 指定的是相對於當前淺層邊界的提交數量,而不是從每個遠端分支歷史的頂端開始。

--refetch

跳過與伺服器協商提交的過程,以獲取所有匹配的物件。用於重新套用新的部分複製 (partial clone) blob/tree 過濾器。

--no-progress

不顯示進度。

--check-self-contained-and-connected

如果接收到的封裝檔是自包含且已連線的,則輸出 "connectivity-ok"。

-v

詳細執行模式。

<repository>

遠端儲存庫的 URL。

<refs>…​

要從中更新的遠端參照。這是相對於 $GIT_DIR 的路徑(例如 "HEAD", "refs/heads/master")。若未指定,則更新遠端擁有的所有參照。

如果遠端啟用了 uploadpack.allowTipSHA1InWantuploadpack.allowReachableSHA1InWantuploadpack.allowAnySHA1InWant 選項,這些參照也可以是遠端存在的 40 位元十六進位 sha1 值。

參見

GIT

git[1] 套件的一部分