設定和配置
獲取和建立專案
基本快照
分支與合併
共享和更新專案
檢查和比較
打補丁
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.48.1 → 2.50.1 無更改
-
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,並要求它傳送此倉庫中缺失的物件,以更新指定的分支。透過掃描本地的 refs/ 層級結構,可以找出本地可用的提交列表,並將其傳送給在另一端執行的 git-upload-pack。
當本地沒有共同祖先提交時,此命令會退化為從遠端下載所有內容以完成請求的引用。
選項
- --all
-
抓取所有遠端引用。
- --stdin
-
從標準輸入中獲取引用列表,每行一個。如果除了此選項之外,還在命令列上指定了引用,則標準輸入中的引用將在命令列上的引用之後處理。
如果此選項與
--stateless-rpc
一起指定,則引用列表必須採用資料包格式(pkt-line)。每個引用必須在一個單獨的資料包中,並且列表必須以一個重新整理資料包結束。 - -q
- --quiet
-
將
-q
標誌傳遞給 git unpack-objects;這使得克隆過程的輸出更簡潔。 - -k
- --keep
-
不對接收到的資料呼叫 git unpack-objects,而是從中建立一個單獨的 packfile,並將其儲存在物件資料庫中。如果提供兩次,則該 packfile 將被鎖定以防止重新打包。
- --thin
-
抓取一個“瘦”pack,它以基於未包含在 pack 中的物件的 delta 形式記錄物件,以減少網路流量。
- --include-tag
-
如果遠端支援,則如果標籤引用的物件被下載,帶註解的標籤物件將與其它物件在同一連線上下載。否則,呼叫者必須確定此選項可用的標籤。
- --upload-pack=<git-upload-pack>
-
如果 git-upload-pack 在遠端上未在你的 $PATH 中找到,則使用此選項指定其路徑。sshd 的安裝會忽略使用者用於登入 shell 的環境設定指令碼(例如 .bash_profile),並且你私下安裝的 git 可能無法在系統預設的 $PATH 中找到。另一個建議的變通方法是在 ".bashrc" 中設定你的 $PATH,但此標誌適用於那些不想透過擁有精簡的 .bashrc 檔案(他們大部分設定都在 .bash_profile 中)來承擔非互動式 shell 開銷的人。
- --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
-
跳過與伺服器的提交協商,以抓取所有匹配的物件。用於重新應用新的部分克隆 blob/tree 過濾器。
- --no-progress
-
不顯示進度。
- --check-self-contained-and-connected
-
如果接收到的 packfile 是自包含且已連線的,則輸出 "connectivity-ok"。
- -v
-
執行詳細模式。
- <repository>
-
遠端倉庫的 URL。
- <refs>…
-
要更新的遠端分支。這是相對於 $GIT_DIR 的(例如 "HEAD", "refs/heads/master")。未指定時,從遠端端擁有的所有分支進行更新。
如果遠端啟用了
uploadpack.allowTipSHA1InWant
、uploadpack.allowReachableSHA1InWant
或uploadpack.allowAnySHA1InWant
選項,它們也可以是遠端上存在的 40 位十六進位制 SHA1。