设置和配置
获取和创建项目
基本快照
分支和合并
共享和更新项目
检查和比较
补丁
调试
电子邮件
外部系统
服务器管理
指南
管理
底层命令
- 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 概念是登记:这是项目的顶级目录。它通常包含子目录 src/
,这是一个 Git 工作树。这鼓励跟踪文件(在 src/
中)和未跟踪文件(例如构建工件,在 src/
之外)之间的分离。当使用 Scalar 注册一个名称不是 src
的现有 Git 工作树时,登记将与该工作树相同。
scalar
命令实现各种子命令,并根据子命令的不同而有不同的选项。除了 clone
、list
和 reconfigure --all
之外,所有子命令都希望在登记中运行。
以下选项可以在子命令之前指定
命令
Clone
- clone [<选项>] <url> [<登记>]
-
克隆指定的仓库,类似于 git-clone[1]。默认情况下,仅克隆 commit 和 tree 对象。完成后,工作树位于
<登记>/src
。启用 sparse-checkout 功能(除非使用
--full-clone
运行),并且仅显示顶级目录中的文件。使用git sparse-checkout set
来扩展您想要查看的目录集,或使用git sparse-checkout disable
扩展到所有文件(有关更多详细信息,请参见 git-sparse-checkout[1])。您可以使用git ls-tree HEAD[:<directory>]
浏览 sparse-checkout 之外的子目录。 - -b <name>
- --branch <name>
-
不检出克隆仓库的 HEAD 指向的分支,而是检出
<name>
分支。 - --[no-]single-branch
-
仅克隆通向单个分支的顶端的历史记录,该分支由
--branch
选项指定,或者由主分支的 remote 的HEAD
指向。后续获取到结果仓库的操作只会更新此选项用于初始克隆的分支的远程跟踪分支。如果在创建
--single-branch
克隆时,remote 的 HEAD 未指向任何分支,则不会创建远程跟踪分支。 - --[no-]src
-
默认情况下,
scalar clone
将克隆的仓库放置在<登记>/src
目录中。使用--no-src
将克隆的仓库直接放置在<登记>
目录中。 - --[no-]tags
-
默认情况下,
scalar clone
将获取 remote 通告的标签对象,并且将来的git fetch
命令也将这样做。使用--no-tags
可以避免在scalar clone
中获取标签,并将仓库配置为将来避免获取标签。要在使用--no-tags
克隆后获取标签,请运行git fetch --tags
。 - --[no-]full-clone
-
默认情况下会初始化 sparse-checkout。可以通过
--full-clone
关闭此行为。
Run
- 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
的一部分自动运行,因此很少需要显式调用此任务。
Reconfigure
在 Scalar 升级之后,或者当 Scalar 登记的配置以某种方式损坏或被错误地更改时,此子命令允许重新配置登记。
使用 --all
选项,将重新配置当前在 Scalar 中注册的所有登记。每次 Scalar 升级后都使用此选项。
GIT
属于 git[1] 套件的一部分