セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット作成
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの慣例
- 日常的なGit
- よくある質問(FAQ)
- 用語集
- フック
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
プラミングコマンド
- 2.45.2 → 2.49.0 変更なし
-
2.45.1
2024-04-29
- 2.45.0 変更なし
- 2.44.2 → 2.44.3 変更なし
-
2.44.1
2024-04-19
- 2.44.0 変更なし
- 2.43.5 → 2.43.6 変更なし
-
2.43.4
2024-04-19
- 2.43.1 → 2.43.3 変更なし
- 2.43.0 変更なし
- 2.42.3 → 2.42.4 変更なし
-
2.42.2
2024-04-19
- 2.42.1 変更なし
- 2.42.0 変更なし
- 2.41.2 → 2.41.3 変更なし
-
2.41.1
2024-04-19
- 2.41.0 変更なし
- 2.40.3 → 2.40.4 変更なし
-
2.40.2
2024-04-19
- 2.40.1 変更なし
- 2.40.0 変更なし
- 2.39.5 変更なし
-
2.39.4
2024-04-19
- 2.38.1 → 2.39.3 変更なし
-
2.38.0
2022-10-02
- 2.34.1 → 2.37.7 変更なし
-
2.34.0
2021-11-15
- 2.21.1 → 2.33.8 変更なし
- 2.21.0 変更なし
- 2.19.3 → 2.20.5 変更なし
-
2.19.2
2018-11-21
- 2.11.4 → 2.19.1 変更なし
-
2.10.5
2017-09-22
- 2.1.4 → 2.9.5 変更なし
-
2.0.5
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] の「スマートクライアント」および 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] スイートの一部