Rift 是一个用 Rust 编写的实验性开源工具,专为开发者设计,旨在彻底替代 Git 的 git worktree 功能——但它不依赖 Git,而是直接利用现代文件系统(如 Linux 的 btrfs/XFS、macOS 的 APFS)的「写时复制」(Copy-on-Write)底层能力,实现毫秒级创建轻量级代码副本。它解决了传统工作区管理中常见的痛点:克隆仓库耗时长、磁盘占用大、切换分支/实验环境繁琐、多版本并行开发效率低等问题。尤其适合需要频繁创建隔离开发环境的工程师。
核心功能
- 秒级初始化工作区:基于文件系统原生快照或 reflink 技术,新建一个 10GB 项目的工作副本仅需不到 0.1 秒,真正“一触即达”
- 极致节省磁盘空间:所有工作区共享原始文件数据,仅在修改时才实际写入差异内容,10 个工作区可能只比 1 个原始目录多占几 MB
- 零 Git 侵入式设计:无需修改仓库结构、不依赖 .git 目录,可对任意普通文件夹(包括非 Git 项目、构建产物、配置模板)快速生成快照工作区
- 跨语言友好 CLI + FFI 接口:提供简洁易记的命令行(
rif init/rif list/rif switch),同时支持通过 Bun 或 Node.js 直接调用其 Rust 库,轻松集成进自动化脚本或前端工具链 - 智能根目录识别:执行
rif init时自动向上查找已注册的 Rift 根目录,避免重复初始化,天然适配多层嵌套项目结构 - 跨平台渐进支持:当前已在 macOS(APFS)、Linux(btrfs/XFS)稳定运行;Windows 支持已在路线图中,npm/bun 全局安装体验已统一
适合哪些人用
如果你是以下角色之一,Rift 很可能成为你每天打开终端的第一条命令:
• 全栈/后端工程师:需要同时维护多个微服务分支、快速验证补丁、并行测试不同依赖版本;
• 开源贡献者:频繁为不同 issue 创建独立修复分支,又不想反复 clone 大型仓库;
• CI/CD 工具开发者:希望在本地复现流水线环境,或构建轻量沙箱用于自动化测试;
• 教学/培训讲师:为学员准备干净、一致、可重置的实验环境,一键分发、零同步延迟;
• 追求极简工作流的 Rust/Node 生态用户:反感冗余配置,偏爱“装完就能用、用完就见效”的工具哲学。
快速上手
只需两步,立即体验 Rift 的速度:
- 安装(任选其一):
npm install -g rift-snapshot或bun add -g rift-snapshot - 启用工作区:
进入你的项目目录(如cd ~/code/my-app),运行rif init—— Rift 会自动检测文件系统能力,并将当前目录注册为 Rift 根;
随后执行rif create feature/login即可瞬间生成一个隔离的、可自由修改的工作区,路径类似~/code/my-app/.rift/feature-login。
所有操作均无副作用,删除 .rift 目录即可完全清理,不干扰原始代码和 Git 状态。
项目信息
编程语言:Rust|GitHub Star 数:461|开源协议:暂未在 README 中声明(建议使用前查阅 LICENSE 文件)|GitHub 项目地址
温馨提示:该项目目前标注为「Experimental」(实验性),接口与行为可能随版本调整,但已通过大量真实场景压力测试,日常开发使用稳定可靠——早用早享受,也欢迎你参与共建。
如果你厌倦了等待 git clone 和 npm install,Rift 就是你一直在等的那个「让磁盘和时间都喘口气」的下一代工作区引擎。


