Repolode
jj-vcs

jj-vcs/jj

Jujutsu(jj)是兼容 Git 的版本控制系统,工作副本改动自动记为提交,并记录所有操作以便撤销。

Star
32,382
Fork
1,279
未关闭 Issue
1,249
最近提交
14小时前

这是什么?

Jujutsu 是一款面向软件项目的版本控制系统,用于获取代码副本、跟踪修改并把改动发布给他人。命令行工具名为 jj。默认存储后端基于 Git 仓库,因此可以与任何 Git 远端拉取和推送,也随时能切回 Git 使用。

它把工作副本本身当作一个真实提交,因此脏工作区不会导致命令失败,也不需要 stash 或暂存区。仓库中的每个操作都会记录在操作日志里,便于撤销错误或回滚更早的某次操作。冲突以对象形式保存在提交中,不会打断当前流程;修改某个提交后,其后代提交会自动变基,冲突的解决方案也会随之传播。

项目融合了 Git、Mercurial 和 Darcs 的设计理念,例如 revset 查询语言和匿名分支。目前 Git 后端已可用于生产环境,但项目尚未发布 1.0,部分工作流和磁盘格式仍可能变化。

核心功能

  • 01默认使用 Git 仓库作为存储,可与任意 Git 远端协作。
  • 02工作副本即提交,无需暂存区或 stash。
  • 03记录每一次仓库操作,支持撤销和回滚历史操作。
  • 04冲突保存在提交中,修改后自动变基后代提交。
  • 05提供 jj describe、jj diffedit、jj split、jj squash 等命令用于改写历史。

适用场景

  • 希望在现有 Git 仓库上获得更简单工作流的开发者。
  • 需要借助操作日志从误操作中恢复的团队。
  • 将仓库放在 Dropbox 目录中或用 rsync 备份,且需要并发安全的场景。

快速上手

  1. 1

    按照 README 中链接的官方安装说明安装 jj

  2. 2

    阅读官方教程学习基础用法

  3. 3

    使用 jj help <命令> 查看任意命令的用法

使用前须知

  • README 称 Jujutsu 仍处于实验阶段,可能存在缺陷并会改变用户界面。
  • 只有 Git 存储后端达到生产可用水平,其他后端尚未就绪。
  • README 称该项目还比较年轻,仍有大量工作待完成。
  • 部分功能(如安全的并发复制)被标记为实验性功能,可能会改变存储格式。

收录于专题

标签

常见问题

jj 是什么?
Jujutsu(jj)是兼容 Git 的版本控制系统,工作副本改动自动记为提交,并记录所有操作以便撤销。 Jujutsu 是一款面向软件项目的版本控制系统,用于获取代码副本、跟踪修改并把改动发布给他人。命令行工具名为 jj。默认存储后端基于 Git 仓库,因此可以与任何 Git 远端拉取和推送,也随时能切回 Git 使用。
jj 可以免费使用吗?用的什么许可证?
jj 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
jj 还在维护吗?
活跃维护中。jj 最近一次提交是在 2026年11月6日。
jj 适合用来做什么?
希望在现有 Git 仓库上获得更简单工作流的开发者。 需要借助操作日志从误操作中恢复的团队。 将仓库放在 Dropbox 目录中或用 rsync 备份,且需要并发安全的场景。
jj 怎么安装和运行?
按照 README 中链接的官方安装说明安装 jj 阅读官方教程学习基础用法 使用 jj help <命令> 查看任意命令的用法
在哪里获取 jj?
源代码和安装说明在 GitHub 上:https://github.com/jj-vcs/jj

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目