Git
英語 ▾ トピック ▾ 最新バージョン ▾ scalarは2.47.0で最後に更新されました

名前

scalar - 大規模なGitリポジトリを管理するためのツール

概要

scalar clone [--single-branch] [--branch <main-branch>] [--full-clone]
	[--[no-]src] <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>

説明

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

重要なScalarの概念は、登録(enlistment)です。これはプロジェクトのトップレベルディレクトリです。通常、Gitワークツリーであるサブディレクトリ`src/`が含まれています。これは、追跡対象ファイル(`src/`内)と、ビルドアーティファクトなどの追跡対象外ファイル(`src/`外)の分離を促進します。 `src`ではない既存のGitワークツリーをScalarに登録する場合、登録はワークツリーと同じになります。

`scalar`コマンドは、さまざまなサブコマンドと、サブコマンドに応じた異なるオプションを実装します。 `clone`、`list`、`reconfigure --all`を除くすべてのサブコマンドは、登録内で実行されることを想定しています。

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

-C <ディレクトリ>

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

-c <キー>=<値>

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

コマンド

クローン

clone [<オプション>] <URL> [<登録>]

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

スパースチェックアウト機能が有効になっており(`--full-clone`で実行された場合を除く)、存在するファイルはトップレベルディレクトリにあるファイルのみです。表示するディレクトリのセットを拡張するには`git sparse-checkout set`を使用し、すべてのファイルに拡張するには`git sparse-checkout disable`を使用します(詳細はgit-sparse-checkout[1]を参照)。スパースチェックアウト外のサブディレクトリは、`git ls-tree HEAD[:<ディレクトリ>]`を使用して探索できます。

-b <名前>
--branch <名前>

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

--[no-]single-branch

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

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

--[no-]src

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

--[no-]tags

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

--[no-]full-clone

デフォルトでは、スパースチェックアウトが初期化されます。この動作は、`--full-clone`を介してオフにすることができます。

リスト

list

現在Scalarに登録されている登録を一覧表示します。このサブコマンドは、登録内で実行する必要はありません。

登録

register [<登録>]

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

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

登録解除

unregister [<登録>]

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

実行

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

指定されたメンテナンスタスク(または`all`が指定されている場合はすべてのタスク)を実行します。 `all`と`config`を除いて、このサブコマンドは単にgit-maintenance[1]に渡します(`fetch`を`prefetch`に、`pack-files`を`incremental-repack`にマッピングします)。

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

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

再構成

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

`--all`オプションを使用すると、現在Scalarに登録されているすべての登録が再構成されます。 Scalarのアップグレードごとにこのオプションを使用してください。

診断

diagnose [<登録>]

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

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

削除

delete <登録>

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

関連項目

GIT

git[1]スイートの一部

scroll-to-top