下一代开源版本控制
关于 Lore
Lore 是一个开源版本控制系统,旨在实现数据和团队前所未有的可扩展性。它针对结合代码与大型二进制资产的项目进行了优化,包括游戏和娱乐领域,并同时满足开发者和美术师的需求。
注意: Lore 目前处于 1.0 版本之前的活跃开发阶段。其接口、磁盘格式和 API 可能会在版本之间发生变化。
开始使用 Lore
- 快速入门 — 按照快速入门指南安装 Lore 并完成首次提交。
- 阅读文档 — 在Lore 文档中深入了解 Lore 的理念和架构。
- 有问题? — 常见问题解答涵盖了许可、支持平台、生产就绪状态以及 Lore 与其他版本控制系统的比较。
- 了解 Lore 的发展方向 — 路线图按时间线列出了重大功能,从可扩展锁定到开源桌面客户端。
- 加入讨论 — 在 Discord 上与我们和社区交流。
或者立即尝试 — 安装 Lore 并以演示模式启动本地服务器:
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/EpicGames/lore/main/scripts/install.sh | bash -s -- --demo
Windows (PowerShell)
$env:LORE_DEMO=1; irm https://raw.githubusercontent.com/EpicGames/lore/main/scripts/install.ps1 | iex
概述
- 易于设置,按需扩展 — 几分钟内即可在本地模式下启动。然后,根据需要尽可能快速地进行扩展。
- 快速高效的流程 — 得益于共享、可重用的数据和按需下载,实现无延迟扩展。
- 自由分支 — 快速轻松地创建、管理和同步分支,以自由地进行实验、迭代和发布。
- 可信赖的历史记录 — 通过 Lore 可验证、防篡改的真相源,自信地跟踪和管理修订版本。
- 直观的界面 — 通过 CLI 享受对完整 Lore 功能的完全一对一访问。
- 全表面 API — 通过 C/C++、C#、Rust、Go、Python 或 JavaScript 扩展、定制和集成 Lore。
注意: Lore 是 UEFN(Fortnite 的虚幻编辑器)的内置版本控制系统,但当前的开源工具尚无法与之通信:UEFN 构建使用了一种专有压缩格式,该格式无法随开源项目一起发布。我们正在积极地将 UEFN 迁移到开放的压缩格式(即此开源项目使用的相同格式),以消除两者之间的差距。
Lore 的架构
Lore 是一个集中式、内容寻址的版本控制系统,它将仓库状态表示为 Merkle 树和不可变的修订链,针对二进制优先存储、去重以及大规模按需/稀疏数据水化进行了优化。有关完整模型(磁盘格式、分块内部机制和 Merkle 树的机制),请阅读系统设计文档。
亮点
- 内容寻址存储 — 仓库数据通过内容哈希在 Merkle 树中存储和引用,从而实现快速比较、完整性检查以及跨历史和分支的重用。
- 不可变的修订链 — 修订版本的哈希签名源自其修订状态,包括父修订版本的哈希和包含的数据哈希,形成一个具有密码学完整性的不可变链。
- 大文件的分块存储 — 文件作为可重用的块存储,并带有索引查找,从而减少重复,并实现对大型二进制资产的高效更新和传输。
- 按需水化和稀疏工作区 — 工作区可以保持轻量,仅在需要时获取文件数据,因此您无需预先下载所有内容。
- 带缓存的集中式服务 — 一种基于服务的架构,在持久化存储前使用缓存,以扩展大型团队和仓库的吞吐量。
- 轻量级分支和快速切换 — 分支是轻量级的可变引用,因此创建和切换分支的开销很低,且不会复制底层数据。
Lore 的仓库
Lore 包含一系列仓库:本仓库中的核心库、服务器和 CLI,以及每种支持语言的软件开发工具包(SDK)。
| 仓库 | 描述 | 链接 |
|---|---|---|
| Lore 库、服务器和 CLI | 核心 Lore 库、Lore 服务器和 Lore CLI。您当前所在位置。 | 在 GitHub 上查看 |
| JavaScript SDK | Lore API 的 JavaScript 绑定。 | 在 GitHub 上查看 |
| Python SDK | Lore API 的 Python 绑定。 | 在 GitHub 上查看 |
| C# SDK | Lore API 的 C# 绑定。 | 在 GitHub 上查看 |
| Go SDK | Lore API 的 Go 绑定。 | 在 GitHub 上查看 |
完全开源
我们相信,一个真正开放的生态系统是使用开放标准共同构建的。Lore 在 MIT 许可证下完全开源,我们邀请您共同在开放环境中构建未来的版本控制系统。请参阅 CONTRIBUTING.md 以参与其中。
贡献
欢迎各种形式的贡献 — 代码、文档、错误报告和代码审查。从 CONTRIBUTING.md 开始了解开发工作流程,然后阅读 行为准则和项目治理模型。代码库新手?good-first-issue 标签是一个不错的起点。
许可证
Lore 在 MIT 许可证下发布。请参阅 LICENSE 获取完整文本。版权所有 (c) 2026 Epic Games, Inc.
联系与社区
- Discord — 在 Discord 上与团队和社区交流。
- GitHub Issues — 通过 GitHub Issues 报告错误和请求功能。