セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 2.49.1 → 2.50.1 変更なし
-
2.49.0
2025-03-14
説明
ブロブなしの部分クローンは git
clone
--filter=blob:none
を使用して作成され、その後ローカルリポジトリが構成され、Git クライアントはローカル操作に必要な場合を除いてブロブオブジェクトのダウンロードを回避します。これは、最初クローンと後続のフェッチが到達可能なコミットとツリーをダウンロードしますが、ブロブはダウンロードしないことを意味します。HEAD
ポインタを変更する後の操作 (例: git
checkout
や git
merge
) は、操作を完了するために不足しているブロブをダウンロードする必要がある場合があります。
最悪の場合、git
blame
のようなブロブの差分を計算するコマンドは、Git コマンドが必要とする不足オブジェクトを満たすために、不足しているブロブを単一ブロブのリクエストでダウンロードするため、非常に遅くなります。これにより、複数のダウンロードリクエストが発生し、Git サーバーはこれらのオブジェクト間でデルタ圧縮を提供できません。
git
backfill
コマンドは、ファイルの履歴バージョンを表す不足しているブロブをバッチでダウンロードできるように、ユーザーが不足しているブロブ (オプションのフィルター付き) をダウンロードするように Git に要求する方法を提供します。backfill
コマンドは、同じパスに現れるブロブをグループ化することでリクエストを最適化しようとし、サーバーから送信されるパックファイルで良好なデルタ圧縮につながることを期待します。
このようにして、git
backfill
は大きなクローンを小さなチャンクに分割するメカニズムを提供します。git
clone
--filter=blob:none
を使用してブロブなしの部分クローンから開始し、その後ローカルリポジトリで git
backfill
を実行すると、クローン時にリポジトリ全体をダウンロードするよりも、いくつかの小さなネットワーク呼び出しで到達可能なすべてのオブジェクトをダウンロードする方法が提供されます。
デフォルトでは、git
backfill
は HEAD
コミットから到達可能なすべてのブロブをダウンロードします。このセットは、さまざまなオプションを使用して制限または拡張できます。
このコマンドは実験的です。将来、その動作は変更される可能性があります。
GIT
git[1]スイートの一部