セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット取得
ブランチングとマージ
プロジェクトの共有と更新
検査と比較
パッチ適用
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの慣習
- 日常的なGit
- よくある質問 (FAQ)
- 用語集
- フック
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
プルーミングコマンド
- 2.47.1 → 2.49.0 変更なし
-
2.47.0
2024-10-06
- 2.42.2 → 2.46.3 変更なし
-
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] <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/
外)との分離が促進されます。既存のGitワークツリーをScalarに登録し、その名前がsrc
でない場合、enlistmentはワークツリーと同一になります。
scalar
コマンドは、様々なサブコマンドと、サブコマンドに応じた異なるオプションを実装しています。clone
、list
、reconfigure --all
を除き、すべてのサブコマンドはenlistment内で実行されることを想定しています。
以下のオプションはサブコマンドの前に指定できます
コマンド
クローン
- clone [<options>] <url> [<enlistment>]
-
指定されたリポジトリをgit-clone[1]と同様にクローンします。デフォルトでは、コミットオブジェクトとツリーオブジェクトのみがクローンされます。完了すると、ワークツリーは
<enlistment>/src
に配置されます。sparse-checkout機能が有効になっています(
--full-clone
で実行された場合を除く)。存在するファイルはトップレベルディレクトリ内のものだけです。表示したいディレクトリのセットを拡張するにはgit sparse-checkout set
を使用するか、すべてのファイルに拡張するにはgit sparse-checkout disable
を使用します(詳細についてはgit-sparse-checkout[1]を参照)。sparse-checkoutの外部にあるサブディレクトリは、git ls-tree HEAD[:<directory>]
を使用して探索できます。 - -b <name>
- --branch <name>
-
クローンされたリポジトリのHEADが指すブランチをチェックアウトする代わりに、
<name>
ブランチをチェックアウトします。 - --[no-]single-branch
-
--branch
オプションで指定された単一のブランチの先端までの履歴のみをクローンするか、プライマリブランチリモートのHEAD
が指すブランチの先端までの履歴のみをクローンします。結果のリポジトリへのそれ以降のフェッチでは、このオプションが初期クローンに使用されたブランチのリモート追跡ブランチのみが更新されます。
--single-branch
クローンが作成されたときにリモートのHEADがどのブランチも指していなかった場合、リモート追跡ブランチは作成されません。 - --[no-]src
-
デフォルトでは、
scalar clone
はクローンされたリポジトリを<entlistment>/src
ディレクトリ内に配置します。--no-src
を使用すると、クローンされたリポジトリを直接<enlistment>
ディレクトリに配置します。 - --[no-]tags
-
デフォルトでは、
scalar clone
はリモートによってアドバタイズされたタグオブジェクトをフェッチし、将来のgit fetch
コマンドも同様に行います。--no-tags
を使用すると、scalar clone
でのタグのフェッチを回避し、将来的にタグをフェッチしないようにリポジトリを構成します。--no-tags
でクローンした後でタグをフェッチするには、git fetch --tags
を実行します。 - --[no-]full-clone
-
sparse-checkoutはデフォルトで初期化されます。この動作は
--full-clone
で無効にできます。
実行
- 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
オプションを使用すると、現在Scalarに登録されているすべてのenlistmentが再設定されます。Scalarをアップグレードするたびにこのオプションを使用してください。
Git
git[1] スイートの一部