Git

名称

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 中一个重要的概念是入伍:这是项目的顶级目录。它通常包含子目录src/,它是一个 Git 工作树。这促进了跟踪文件(在src/内)和未跟踪文件(例如构建工件(在src/外))之间的分离。当使用名称不是src的 Scalar 注册现有 Git 工作树时,入伍将与工作树相同。

scalar 命令实现各种子命令,以及取决于子命令的不同选项。除了clonelistreconfigure --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指向指定。

进一步获取到结果存储库中只会更新此选项用于初始克隆的分支的远程跟踪分支。如果远程的 HEAD 在进行--single-branch克隆时没有指向任何分支,则不会创建远程跟踪分支。

--[no-]src

默认情况下,scalar clone 将克隆的存储库放置在<入伍>/src目录中。使用--no-src将克隆的存储库直接放置在<入伍>目录中。

--[no-]tags

默认情况下,scalar clone 将获取远程广告的标签对象,并且将来的git fetch命令也将执行相同的操作。使用--no-tags避免在scalar clone中获取标签,并配置存储库以避免将来获取标签。要在使用--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,则运行所有任务)。除了allconfig之外,此子命令只是传递给 git-maintenance[1](将fetch映射到prefetch,将pack-files映射到incremental-repack)。

这些任务在存储库与 Scalar 注册后,作为计划维护的一部分自动运行。因此,不应需要手动运行此子命令。

config 任务特定于 Scalar,并配置所有这些有主见的默认设置,使 Git 在大型存储库中更有效地工作。由于此任务作为scalar clone的一部分自动运行,因此很少需要显式调用此任务。

重新配置

在 Scalar 升级后,或者当 Scalar 入伍的配置由于某种原因损坏或错误更改时,此子命令允许重新配置入伍。

使用--all选项,将重新配置当前与 Scalar 注册的所有入伍。在每次 Scalar 升级后使用此选项。

诊断

diagnose [<入伍>]

在报告 Scalar 的问题时,提供此命令收集的信息(包括日志和描述当前入伍数据形状的某些统计信息)通常很有帮助。

此命令的输出是一个.zip文件,该文件写入src目录中工作树旁边的目录中。

删除

delete <入伍>

此子命令允许您从本地文件系统中删除现有的 Scalar 入伍,并取消注册存储库。

另请参阅

GIT

git[1] 套件的一部分

scroll-to-top