Skip to content

jj

项目核心内容总结:

Jujutsu 是一个实验性版本控制系统,兼容 Git,采用 Git 作为当前唯一稳定的后端存储。其核心特性包括:

  1. 与 Git 兼容
    支持与 Git 远程仓库交互,创建的提交可被 Git 识别,可切换回 Git 使用。提供与 Git 命令的映射对照。

  2. 自动提交工作区
    工作区以真实提交形式存在,所有操作(如切换分支)会自动修改工作区提交,无需手动暂存或处理脏工作区。

  3. 仓库为唯一真相源
    工作区仅用于临时操作,所有变更通过仓库提交记录管理。命令统一作用于仓库提交,支持从任意提交恢复文件或修改提交信息。

  4. 全操作记录与回滚
    每次操作均记录在仓库日志中,支持按操作顺序回滚,可撤销非最近操作。

  5. 冲突处理机制
    冲突信息直接记录在提交中,无需中断操作,后续可统一解决。支持冲突的“处理”与“切换”流程。

  6. 自动变基
    修改提交后,其所有后代提交会自动变基到新提交上,更新书签及工作区指向。

  7. 历史重写能力
    支持修改任意提交的描述、拆分提交、合并提交、移动提交内容等操作。

使用方法:

  • 安装后通过教程学习基础操作。
  • 使用 jj help 查询命令,参考 Git 对比表了解命令映射。
  • 支持与 Git 共存的本地工作区,可混合使用 jjgit 命令。

注意事项:

  • 为实验性工具,部分功能(如 Git 子模块)尚未完善,可能存在性能问题。
  • 默认不支持邮件工作流等特定场景,需依赖核心开发者常用流程。
  • 1.0.0 版本前可能有不兼容的格式变更及工作流调整。