jj
项目核心内容总结:
Jujutsu 是一个实验性版本控制系统,兼容 Git,采用 Git 作为当前唯一稳定的后端存储。其核心特性包括:
-
与 Git 兼容
支持与 Git 远程仓库交互,创建的提交可被 Git 识别,可切换回 Git 使用。提供与 Git 命令的映射对照。 -
自动提交工作区
工作区以真实提交形式存在,所有操作(如切换分支)会自动修改工作区提交,无需手动暂存或处理脏工作区。 -
仓库为唯一真相源
工作区仅用于临时操作,所有变更通过仓库提交记录管理。命令统一作用于仓库提交,支持从任意提交恢复文件或修改提交信息。 -
全操作记录与回滚
每次操作均记录在仓库日志中,支持按操作顺序回滚,可撤销非最近操作。 -
冲突处理机制
冲突信息直接记录在提交中,无需中断操作,后续可统一解决。支持冲突的“处理”与“切换”流程。 -
自动变基
修改提交后,其所有后代提交会自动变基到新提交上,更新书签及工作区指向。 -
历史重写能力
支持修改任意提交的描述、拆分提交、合并提交、移动提交内容等操作。
使用方法:
- 安装后通过教程学习基础操作。
- 使用
jj help查询命令,参考 Git 对比表了解命令映射。 - 支持与 Git 共存的本地工作区,可混合使用
jj与git命令。
注意事项:
- 为实验性工具,部分功能(如 Git 子模块)尚未完善,可能存在性能问题。
- 默认不支持邮件工作流等特定场景,需依赖核心开发者常用流程。
- 1.0.0 版本前可能有不兼容的格式变更及工作流调整。