SYNOPSIS
scalar clone [--single-branch] [--branch <main-branch>] [--full-clone] <url> [<enlistment>] scalar list scalar register [<enlistment>] scalar unregister [<enlistment>] scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>] scalar reconfigure [ --all | <enlistment> ] scalar diagnose [<enlistment>] scalar delete <enlistment>
DESCRIPTION
Scalar は、 大規模なリポジトリで使用するために Git を最適化するリポジトリ管理ツールです。 Scalar は、 高度な Git 設定を構成し、 バックグラウンドでリポジトリを保守し、 ネットワーク経由で送信されるデータを削減することで、 パフォーマンスを向上させます。
Scalar の重要な発想が enlistment です。 enlistment はプロジェクトの最上位ディレクトリで、 通常、 Gitワークツリーであるサブディレクトリ src/
を含んでいます。 これにより、 追跡対象のファイル (src/
内) と、 ビルド生成物 (src/
の外部) などの追跡対象外のファイルとの分離が促進されます。 名前が src
ではない既存の Git ワークツリーを Scalar に登録(register)すると、 enlistment はワークツリーと同等になります。
scalar
コマンドは、さまざまなサブコマンドと、 サブコマンドに応じたさまざまなオプションを実装します。 clone
と list
と reconfigure --all
を除いて、 すべてのサブコマンドは enlistment の下で実行されることを想定しています。
以下のオプションはサブコマンドの「前で」指定可能です:
COMMANDS
Clone
-
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-]full-clone
-
デフォルトでスパース・チェックアウトは初期化(initialized)されます。 この動作は、
--full-clone
でオフにすることができます。
List
- list
-
Scalar によって現在登録(register)されている enlistment を一覧表示します。 このサブコマンドは、 enlistment 内で実行する必要はありません。
Register
-
register [<enlistment>]
-
enlistment のリポジトリを登録済みリポジトリ(registered repositories)のリストに追加し、 バックグラウンド・メンテナンスを開始します。
<enlistment>
が指定されていない場合、 現在の作業ディレクトリに関連付けられた enlistment が登録(registere)されます。注意: このサブコマンドが
src/
と呼ばれるワークツリーで呼び出されると、 その親ディレクトリは Scalar enlistment と見なされます。 ワークツリーがsrc/
と呼ばれ「無い」場合、それ自体が Scalar enlistment であると見なされます。
Unregister
-
unregister [<enlistment>]
-
Scalar に登録(register)されているリポジトリのリストから指定されたリポジトリを削除し、 スケジュールされたバックグラウンド・メンテナンスを停止します。
Run
-
scalar run ( all | config | commit-graph | fetch | loose-objects | pack-files ) [<enlistment>]
-
指定されたメンテナンス・タスク (
all
が指定されている場合はすべてのタスク) を実行します。 このサブコマンドはall
とconfig
を除いて、 単純に git-maintenance(1) に渡します (fetch
をprefetch
に、pack-files
をincremental-repack
にマッピングします)。これらのタスクは、リポジトリが Scalar に登録されるとすぐに、スケジュールされたメンテナンスの一部として自動的に実行されます。 したがって、このサブコマンドを手動で実行する必要はありません。
config
タスクは Scalar 固有であり、 Git が大規模なリポジトリでより効率的に動作するように、 独自のデフォルト設定のすべてを構成します。 このタスクはscalar clone
の一部として自動的に実行されるため、 このタスクを明示的に呼び出す必要はほとんどありません。
Reconfigure
Scalar のアップグレード後、または Scalar enlistment の構成が何らかの形で破損または誤って変更された場合、 このサブコマンドを使用して enlistment を再構成できます。
--all
オプションを使用すると、 現在 Scalar に登録されているすべての enlistment が再構成されます。 Scalar アップグレード後毎にこのオプションを使用します。
Diagnose
-
diagnose [<enlistment>]
-
Scalar に関する問題を報告する場合、 現在の enlistment のデータ形状を説明するログや特定の統計など、 このコマンドによって収集された情報を提供すると役立つことがよくあります。
このコマンドの出力は、
src
ディレクトリのワークツリーに隣接するディレクトリに書き込まれる.zip
ファイルです。
Delete
-
delete <enlistment>
-
このサブコマンドを使用すると、 ローカル・ファイル・システムから既存の Scalar enlistment を削除して、 リポジトリを登録解除(unregister)できます。
SEE ALSO
GIT
Part of the git(1) suite