セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの規約
- 日常的なGit
- よくある質問 (FAQ)
- 用語集
- フック
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
Plumbing コマンド
- 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
SYNOPSIS
git-upload-pack [--[no-]strict] [--timeout=<n>] [--stateless-rpc] [--advertise-refs] <directory>
DESCRIPTION
git fetch-pack によって呼び出され、相手側で不足しているオブジェクトを学習し、パック後にそれらを送信します。
このコマンドは通常、エンドユーザーによって直接呼び出されることはありません。プロトコルのUIは git fetch-pack 側にあり、プログラムのペアはリモートリポジトリから更新をプルするために使用されることを意図しています。プッシュ操作については、git send-pack を参照してください。
OPTIONS
- --[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>
-
同期元のリポジトリ。
ENVIRONMENT
-
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
に設定できます。
SECURITY
ほとんどの Git コマンドは、信頼されていない .git
ディレクトリで実行するべきではありません(git[1] の SECURITY
セクションを参照してください)。upload-pack
は、提供しているリポジトリから危険な設定オプションやフックを回避しようとするため、信頼されていないディレクトリをクローンし、結果のクローンに対してコマンドを実行しても安全です。
より安全なレベルのために、upload-pack
を別のユーザーとして実行できる場合があります。詳細はプラットフォームに依存しますが、多くのシステムでは、次のように実行できます
git clone --no-local --upload-pack='sudo -u nobody git-upload-pack' ...
GIT
git[1] スイートの一部