設定與配置
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢查與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.45.2 → 2.47.0 沒有變更
-
2.45.1
04/29/24
- 2.45.0 沒有變更
- 2.44.2 沒有變更
-
2.44.1
04/19/24
- 2.44.0 沒有變更
- 2.43.5 沒有變更
-
2.43.4
04/19/24
- 2.43.1 → 2.43.3 沒有變更
- 2.43.0 沒有變更
- 2.42.3 沒有變更
-
2.42.2
04/19/24
- 2.42.1 沒有變更
- 2.42.0 沒有變更
- 2.41.2 沒有變更
-
2.41.1
04/19/24
- 2.41.0 沒有變更
- 2.40.3 沒有變更
-
2.40.2
04/19/24
- 2.40.1 沒有變更
- 2.40.0 沒有變更
- 2.39.5 沒有變更
-
2.39.4
04/19/24
- 2.38.1 → 2.39.3 沒有變更
-
2.38.0
10/02/22
- 2.34.1 → 2.37.7 沒有變更
-
2.34.0
11/15/21
- 2.21.1 → 2.33.8 沒有變更
- 2.21.0 沒有變更
- 2.19.3 → 2.20.5 沒有變更
-
2.19.2
11/21/18
- 2.11.4 → 2.19.1 沒有變更
-
2.10.5
09/22/17
- 2.1.4 → 2.9.5 沒有變更
-
2.0.5
12/17/14
描述
由 git fetch-pack 呼叫,瞭解另一方遺失的物件,並在封裝後傳送它們。
此命令通常不由終端使用者直接呼叫。協定的使用者介面在 git fetch-pack 端,此程式配對旨在用於從遠端儲存庫提取更新。對於推送操作,請參閱 git send-pack。
選項
- --[no-]strict
-
如果 <directory> 不是 Git 目錄,則不要嘗試 <directory>/.git/。
- --timeout=<n>
-
在 <n> 秒不活動後中斷傳輸。
- --stateless-rpc
-
僅使用 stdin 和 stdout 執行單次讀寫循環。這符合 HTTP POST 請求處理模型,其中程式可以讀取請求、寫入回應,並且必須退出。
- --http-backend-info-refs
-
由 git-http-backend[1] 用於服務
$GIT_URL/info/refs?service=git-upload-pack
請求。請參閱 gitprotocol-http[5] 中的「智慧型用戶端」和 gitprotocol-v2[5] 文件中的「HTTP 傳輸」。git-receive-pack[1] 也理解。 - <directory>
-
要從中同步的儲存庫。
環境
-
GIT_PROTOCOL
-
用於交握線路協定的內部變數。伺服器管理員可能需要設定一些傳輸以允許傳遞此變數。請參閱 git[1] 中的討論。
-
GIT_NO_LAZY_FETCH
-
從部分儲存庫 (即本身使用
--filter
克隆的儲存庫) 克隆或提取時,伺服器端的upload-pack
可能需要從其上游提取額外的物件,才能完成請求。依預設,upload-pack
將拒絕執行此類惰性提取,因為git fetch
可以執行在來源儲存庫的組態和鉤子中指定的任意命令 (並且upload-pack
會嘗試安全地運行,即使在不受信任的.git
目錄中也是如此)。這是通過讓
upload-pack
在內部將GIT_NO_LAZY_FETCH
變數設定為1
來實現的。如果您想覆寫它 (因為您是從部分克隆提取,並且您確定您信任它),您可以明確地將GIT_NO_LAZY_FETCH
設定為0
。
安全性
大多數 Git 命令不應在不受信任的 .git
目錄中運行 (請參閱 git[1] 中的 SECURITY
部分)。upload-pack
會嘗試避免它所服務的儲存庫中的任何危險組態選項或鉤子,使其可以安全地克隆不受信任的目錄並在結果克隆上執行命令。
為了額外的安全級別,您可能可以以替代使用者身分執行 upload-pack
。詳細資訊將取決於平台,但在許多系統上,您可以執行
git clone --no-local --upload-pack='sudo -u nobody git-upload-pack' ...
GIT
屬於 git[1] 套件的一部分