English ▾ トピック ▾ 最新バージョン ▾ scalar は 2.50.0 で最終更新されました

名前

scalar - 大規模 Git リポジトリ管理ツール

概要

scalar clone [--single-branch] [--branch <main-branch>] [--full-clone]
	[--[no-]src] [--[no-]tags] [--[no-]maintenance] <url> [<enlistment>]
scalar list
scalar register [--[no-]maintenance] [<enlistment>]
scalar unregister [<enlistment>]
scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>]
scalar reconfigure [--maintenance=(enable|disable|keep)] [ --all | <enlistment> ]
scalar diagnose [<enlistment>]
scalar delete <enlistment>

説明

Scalar は、大規模なリポジトリで Git を使用するために Git を最適化するリポジトリ管理ツールです。Scalar は、高度な Git 設定を構成し、バックグラウンドでリポジトリを維持し、ネットワーク経由で送信されるデータを削減するのに役立つことでパフォーマンスを向上させます。

Scalar の重要な概念は「enlistment」です。これはプロジェクトの最上位ディレクトリです。通常、Git ワークツリーである src/ サブディレクトリが含まれています。これにより、追跡されたファイル(src/ 内)と、ビルド成果物などの追跡されていないファイル(src/ 外)の分離が促進されます。src という名前ではない既存の Git ワークツリーを Scalar に登録する場合、enlistment はワークツリーと同一になります。

scalar コマンドはさまざまなサブコマンドと、サブコマンドによって異なるオプションを実装しています。clonelistreconfigure --all を除き、すべてのサブコマンドは enlistment 内で実行されることを想定しています。

次のオプションはサブコマンドの前に指定できます

-C <directory>

サブコマンドを実行する前に、作業ディレクトリを変更します。このオプションは git[1] の同じオプションを模倣しています。

-c <key>=<value>

指定されたサブコマンドの実行中、この設定を構成します。このオプションは git[1] の同じオプションを模倣しています。

コマンド

クローン

clone [<options>] <url> [<enlistment>]

git-clone[1] と同様に、指定されたリポジトリをクローンします。デフォルトでは、コミットオブジェクトとツリーオブジェクトのみがクローンされます。完了すると、ワークツリーは <enlistment>/src に配置されます。

疎なチェックアウト機能が有効になり(--full-clone で実行された場合を除く)、存在するファイルは最上位ディレクトリのファイルのみです。git sparse-checkout set を使用して表示したいディレクトリのセットを展開するか、git sparse-checkout disable を使用してすべてのファイルに展開します(詳細については git-sparse-checkout[1] を参照)。git ls-tree HEAD[:<directory>] を使用して、疎なチェックアウト外のサブディレクトリを探索できます。

-b <name>
--branch <name>

クローンされたリポジトリの HEAD が指すブランチをチェックアウトする代わりに、<name> ブランチをチェックアウトします。

--[no-]single-branch

--branch オプションで指定された単一のブランチの先端、またはプライマリブランチリモートの HEAD が指すブランチの先端までの履歴のみをクローンします。

結果のリポジトリへのさらなるフェッチは、このオプションが初期クローンに使用されたブランチのリモート追跡ブランチのみを更新します。--single-branch クローンが作成されたときにリモートの HEAD がどのブランチも指していなかった場合、リモート追跡ブランチは作成されません。

--[no-]src

デフォルトでは、scalar clone はクローンされたリポジトリを <enlistment>/src ディレクトリ内に配置します。--no-src を使用して、クローンされたリポジトリを <enlistment> ディレクトリに直接配置します。

--[no-]tags

デフォルトでは、scalar clone はリモートによってアドバタイズされたタグオブジェクトをフェッチし、将来の git fetch コマンドも同様に行います。--no-tags を使用して、scalar clone でタグをフェッチしないようにし、将来タグをフェッチしないようにリポジトリを構成します。--no-tags でクローンした後でタグをフェッチするには、git fetch --tags を実行します。

--[no-]full-clone

疎なチェックアウトはデフォルトで初期化されます。この動作は --full-clone で無効にできます。

--[no-]maintenance

デフォルトでは、scalar clone は enlistment が Git のバックグラウンドメンテナンス機能を使用するように構成します。--no-maintenance を使用してこの構成をスキップします。

リスト

list

現在 Scalar に登録されている enlistment をリストアップします。このサブコマンドは enlistment 内で実行する必要はありません。

登録

register [<enlistment>]

enlistment のリポジトリを登録済みリポジトリのリストに追加し、バックグラウンドメンテナンスを開始します。<enlistment> が提供されていない場合、現在の作業ディレクトリに関連付けられた enlistment が登録されます。

注: このサブコマンドが src/ と呼ばれるワークツリーで呼び出される場合、その親ディレクトリが Scalar enlistment と見なされます。ワークツリーが src/呼ばれない場合、それ自体が Scalar enlistment と見なされます。

--[no-]maintenance

デフォルトでは、scalar register は enlistment が Git のバックグラウンドメンテナンス機能を使用するように構成します。--no-maintenance を使用してこの構成をスキップします。これにより、他の方法ですでに有効になっているメンテナンスは無効になりません。

登録解除

unregister [<enlistment>]

指定されたリポジトリを Scalar に登録されたリポジトリのリストから削除し、スケジュールされたバックグラウンドメンテナンスを停止します。

実行

scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>]

指定されたメンテナンス タスク(または all が指定された場合はすべてのタスク)を実行します。allconfig を除き、このサブコマンドは git-maintenance[1] に単純に引き渡します(fetchprefetch に、pack-filesincremental-repack にマッピングします)。

これらのタスクは、リポジトリが Scalar に登録されるとすぐに、スケジュールされたメンテナンスの一部として自動的に実行されます。したがって、このサブコマンドを手動で実行する必要はありません。

config タスクは Scalar に固有のものであり、大規模なリポジトリで Git をより効率的に機能させる、意見のあるすべてのデフォルト設定を構成します。このタスクは scalar clone の一部として自動的に実行されるため、このタスクを明示的に呼び出す必要はほとんどありません。

再構成

Scalar のアップグレード後、または Scalar enlistment の構成が何らかの形で破損したり誤って変更されたりした場合、このサブコマンドを使用すると enlistment を再構成できます。

--all

--all が指定されている場合、scalar.repo 設定キーによって現在 Scalar に登録されているすべての enlistment を再構成します。最新の機能を取得するために、アップグレード後ごとにこのオプションを使用してください。

--maintenance=(enable|disable|keep)

デフォルトでは、Scalar は enlistment が Git のバックグラウンドメンテナンス機能を使用するように構成します。これは、このオプションに enable 値を使用するのと同じです。disable 値を使用して、考慮される各 enlistment をバックグラウンドメンテナンスから削除します。「keep」を使用して、これらのリポジトリのバックグラウンドメンテナンス構成をそのままにしておきます。

診断

diagnose [<enlistment>]

Scalar の問題を報告する場合、ログや現在の enlistment のデータ形状を記述する特定の統計情報など、このコマンドによって収集された情報を提供することが役立つことがよくあります。

このコマンドの出力は、src ディレクトリのワークツリーに隣接するディレクトリに書き込まれる .zip ファイルです。

削除

delete <enlistment>

このサブコマンドを使用すると、既存の Scalar enlistment をローカルファイルシステムから削除し、リポジトリの登録を解除できます。

関連項目

GIT

git[1]スイートの一部

scroll-to-top