セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 2.45.2 → 2.50.1 変更なし
- 
        2.45.1
          
            
                                     2024-04-29 2024-04-29
- 2.45.0 変更なし
- 2.44.2 → 2.44.4 変更なし
- 
        2.44.1
          
            
                                     2024-04-19 2024-04-19
- 2.44.0 変更なし
- 2.43.5 → 2.43.7 変更なし
- 
        2.43.4
          
            
                                     2024-04-19 2024-04-19
- 2.43.1 → 2.43.3 変更なし
- 2.43.0 変更なし
- 2.42.3 → 2.42.4 変更なし
- 
        2.42.2
          
            
                                     2024-04-19 2024-04-19
- 2.42.1 変更なし
- 2.42.0 変更なし
- 2.41.2 → 2.41.3 変更なし
- 
        2.41.1
          
            
                                     2024-04-19 2024-04-19
- 2.41.0 変更なし
- 2.40.3 → 2.40.4 変更なし
- 
        2.40.2
          
            
                                     2024-04-19 2024-04-19
- 2.40.1 変更なし
- 2.40.0 変更なし
- 2.39.5 変更なし
- 
        2.39.4
          
            
                                     2024-04-19 2024-04-19
- 2.38.1 → 2.39.3 変更なし
- 
        2.38.0
          
            
                             2022-10-02 2022-10-02
- 2.34.1 → 2.37.7 変更なし
- 
        2.34.0
          
            
                                 2021-11-15 2021-11-15
- 2.21.1 → 2.33.8 変更なし
- 2.21.0 変更なし
- 2.19.3 → 2.20.5 変更なし
- 
        2.19.2
          
            
                                 2018-11-21 2018-11-21
- 2.11.4 → 2.19.1 変更なし
- 
        2.10.5
          
            
                                     2017-09-22 2017-09-22
- 2.1.4 → 2.9.5 変更なし
- 
        2.0.5
          
            
                                     2014-12-17 2014-12-17
説明
git fetch-pack によって呼び出され、相手側が持っていないオブジェクトを特定し、それらをパックして送信します。
このコマンドは通常、エンドユーザーによって直接呼び出されることはありません。プロトコルのUIは git fetch-pack 側にあり、このプログラムペアはリモートリポジトリから更新をプルするために使用することを意図しています。プッシュ操作については、git send-pack を参照してください。
オプション
- --[no-]strict
- 
<directory> が Git ディレクトリでない場合、<directory>/.git/ を試行しない。 
- --timeout=<n>
- 
n 秒間アクティビティがない場合、転送を中断します。 
- --stateless-rpc
- 
標準入力と標準出力で単一の読み書きサイクルのみを実行します。これは、プログラムがリクエストを読み込み、レスポンスを書き込み、終了する必要があるHTTP POSTリクエスト処理モデルに適合します。 
- --http-backend-info-refs
- 
git-http-backend[1] が $GIT_URL/info/refs?service=git-upload-pack リクエストを処理するために使用します。gitprotocol-http[5] の「Smart Clients」と gitprotocol-v2[5] ドキュメントの「HTTP Transport」を参照してください。git-receive-pack[1] も理解しています。 
- <directory>
- 
同期元のリポジトリ。 
環境変数
- GIT_PROTOCOL
- 
ワイヤープロトコルのハンドシェイクに使用される内部変数。サーバー管理者は、この変数を渡せるように一部のトランスポートを設定する必要があるかもしれません。git[1] の議論を参照してください。 
- GIT_NO_LAZY_FETCH
- 
部分的なリポジトリ(つまり、 --filterでクローンされたもの)からクローンまたはフェッチする場合、サーバー側のupload-packは、リクエストを完了するために上流から追加のオブジェクトをフェッチする必要がある場合があります。デフォルトでは、upload-packはそのような遅延フェッチの実行を拒否します。これは、gitfetchがソースリポジトリの設定やフックで指定された任意のコマンドを実行する可能性があり(そして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]スイートの一部

