設定與組態
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢查與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
- gitattributes
- 命令列介面規範
- Git 日常使用
- 常見問題 (FAQ)
- 詞彙表
- 掛鉤 (Hooks)
- gitignore
- gitmodules
- 修訂版本 (Revisions)
- 子模組
- 教學
- 工作流程
- 所有指南...
管理
底層命令 (Plumbing Commands)
- 2.48.1 → 2.55.0 無變更
-
2.48.0
2025-01-10
- 2.43.1 → 2.47.3 無變更
-
2.43.0
2023-11-20
- 2.36.1 → 2.42.4 無變更
-
2.36.0
2022-04-18
- 2.18.1 → 2.35.8 無變更
-
2.18.0
2018-06-21
- 2.12.5 → 2.17.6 無變更
-
2.11.4
2017-09-22
- 2.10.5 無變更
-
2.9.5
2017-07-30
-
2.8.6
2017-07-30
- 2.5.6 → 2.7.6 無變更
-
2.4.12
2017-05-05
- 2.1.4 → 2.3.10 無變更
-
2.0.5
2014-12-17
概要
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.allowTipSHA1InWant、uploadpack.allowReachableSHA1InWant或uploadpack.allowAnySHA1InWant選項,這些參照也可以是遠端存在的 40 位元十六進位 sha1 值。
GIT
git[1] 套件的一部分