セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
- 2.50.1 変更なし
-
2.50.0
2025-06-16
- 2.47.1 → 2.49.1 変更なし
-
2.47.0
2024-10-06
- 2.42.2 → 2.46.4 変更なし
-
2.42.1
2023-11-02
- 2.38.1 → 2.42.0 変更なし
-
2.38.0
2022-10-02
概要
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
コマンドはさまざまなサブコマンドと、サブコマンドによって異なるオプションを実装しています。clone
、list
、reconfigure
--all
を除き、すべてのサブコマンドは enlistment 内で実行されることを想定しています。
次のオプションはサブコマンドの前に指定できます
コマンド
クローン
- 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
を使用してこの構成をスキップします。
登録
- register [<enlistment>]
-
enlistment のリポジトリを登録済みリポジトリのリストに追加し、バックグラウンドメンテナンスを開始します。<enlistment> が提供されていない場合、現在の作業ディレクトリに関連付けられた enlistment が登録されます。
注: このサブコマンドが
src/
と呼ばれるワークツリーで呼び出される場合、その親ディレクトリが Scalar enlistment と見なされます。ワークツリーがsrc/
と呼ばれない場合、それ自体が Scalar enlistment と見なされます。 - --[no-]maintenance
-
デフォルトでは、
scalar
register
は enlistment が Git のバックグラウンドメンテナンス機能を使用するように構成します。--no-maintenance
を使用してこの構成をスキップします。これにより、他の方法ですでに有効になっているメンテナンスは無効になりません。
実行
- 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
の一部として自動的に実行されるため、このタスクを明示的に呼び出す必要はほとんどありません。
再構成
Scalar のアップグレード後、または Scalar enlistment の構成が何らかの形で破損したり誤って変更されたりした場合、このサブコマンドを使用すると enlistment を再構成できます。
- --all
-
--all
が指定されている場合、scalar.repo
設定キーによって現在 Scalar に登録されているすべての enlistment を再構成します。最新の機能を取得するために、アップグレード後ごとにこのオプションを使用してください。 - --maintenance=(enable|disable|keep)
-
デフォルトでは、Scalar は enlistment が Git のバックグラウンドメンテナンス機能を使用するように構成します。これは、このオプションに
enable
値を使用するのと同じです。disable
値を使用して、考慮される各 enlistment をバックグラウンドメンテナンスから削除します。「keep」を使用して、これらのリポジトリのバックグラウンドメンテナンス構成をそのままにしておきます。
GIT
git[1]スイートの一部