日本語 ▾ トピック ▾ 最新バージョン ▾ 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 を呼び出し、このリポジトリに不足しているオブジェクトを送信して、指定されたヘッドを更新するように要求します。ローカルで利用可能なコミットのリストは、ローカルの refs/ 階層をスキャンして見つけられ、相手側で実行されている git-upload-pack に送信されます。

このコマンドは、ローカル側に共通の祖先コミットがない場合、要求されたリファレンスをリモート側からすべてダウンロードするように退化します。

オプション

--all

すべてのリモートリファレンスをフェッチします。

--stdin

標準入力からリファレンスのリストを1行ずつ取得します。このオプションに加えてコマンドラインでリファレンスが指定されている場合、標準入力からのリファレンスはコマンドラインのリファレンスの後に処理されます。

このオプションと一緒に --stateless-rpc が指定されている場合、リファレンスのリストはパケット形式 (pkt-line) でなければなりません。各リファレンスは個別のパケットでなければならず、リストはフラッシュパケットで終わる必要があります。

-q
--quiet

git unpack-objects-q フラグを渡します。これにより、クローン作成プロセスが冗長でなくなります。

-k
--keep

受信したデータに対して git unpack-objects を呼び出さず、代わりに1つのパックファイルを作成し、それをオブジェクトデータベースに保存します。2回指定すると、パックは再パックされないようにロックされます。

--thin

ネットワークトラフィックを減らすために、パックに含まれていないオブジェクトに基づいて差分形式でオブジェクトを記録する「シン」パックをフェッチします。

--include-tag

リモート側がサポートしている場合、タグが参照するオブジェクトがダウンロードされると、注釈付きタグオブジェクトは他のオブジェクトと同じ接続でダウンロードされます。それ以外の場合、呼び出し元はこのオプションで利用可能になったタグを判断する必要があります。

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

リモート側で git-upload-pack が $PATH に見つからない場合に、そのパスを指定するためにこれを使用します。sshd のインストールでは、ログインシェルのユーザーの環境設定スクリプト (例: .bash_profile) が無視され、個人的にインストールした git がシステムデフォルトの $PATH に見つからない場合があります。もう1つの回避策として、".bashrc" で $PATH を設定することが提案されていますが、このフラグは、リーンな .bashrc ファイルを持つことで非インタラクティブシェルのオーバーヘッドを支払いたくない人 (ほとんどのものを .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

一致するすべてのオブジェクトをフェッチするために、サーバーとのコミット交渉をスキップします。新しい部分的なクローンブロブ/ツリーフィルターを再適用するために使用します。

--no-progress

進捗を表示しません。

--check-self-contained-and-connected

受信したパックが自己完結型で接続されている場合、「connectivity-ok」を出力します。

-v

詳細に実行します。

<repository>

リモートリポジトリへのURL。

<refs>…​

更新元のリモートヘッド。これは $GIT_DIR からの相対パスです (例: "HEAD", "refs/heads/master")。指定しない場合、リモート側が持つすべてのヘッドから更新します。

リモートがオプション uploadpack.allowTipSHA1InWantuploadpack.allowReachableSHA1InWant、または uploadpack.allowAnySHA1InWant を有効にしている場合、代わりにリモートに存在する40桁のsha1を指定することもできます。

関連項目

GIT

git[1]スイートの一部

scroll-to-top