什么是 Jujutsu?
Jujutsu 是一款Git 兼容的版本控制系统,提供比 Git 更简单、更强大的模型,同时保持与现有 Git 仓库的向后兼容性。它使用 jj 命令,将工作副本本身视为一个提交,提供一流的冲突处理能力以及针对每个操作的撤销功能——让你底层依然可以继续使用 GitHub 或 Forgejo 等 Git 托管服务。
⚡ Jujutsu 的核心功能
🔄 兼容 Git
可直接配合现有 Git 仓库以及 GitHub、Forgejo 等远程仓库使用。
↩️ 通用撤销
每个操作都会被记录,只需一条命令即可撤销。
🧩 一流的冲突处理
冲突会被记录在提交中,可以随时解决,而不仅限于合并期间。
📄 工作副本即提交
工作副本本身就是一个提交,省去了暂存区,简化了工作流程。
🎯 为什么选择 Jujutsu?
- 更简单的模型:没有暂存区,工作流程一致且可预测
- 安全的实验:可撤销任何操作,包括 rebase 和合并
- Git 互操作:继续使用 Git 托管服务,与 Git 用户协作
- 强大的历史编辑:轻松完成 rebase 和提交重写
🆕 亮点功能
- jj 命令:面向 Git 仓库的现代化命令行工具
- 操作日志:完整记录仓库操作历史,支持撤销
- 冲突处理:冲突存储在提交中,可随时解决
- Git 后端:与现有 Git 远程仓库互操作
📦 从 deb.griffo.io 安装
步骤 1:添加仓库
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 有一个永久免费的镜像。 deb-free.griffo.io 永久免费提供软件包 — 无需账号、无需订阅,最多落后上游 2 个月,安全修复立即发布。目前收录 cliamp、Ghostty、lazydocker、Oh My Posh 和 Zed;Jujutsu 不在其中,因此今天只能通过上面的仓库安装 — 提出请求即可将其加入。
🧩 关于 extrepo 选项。 extrepo 是 Debian 官方用于管理第三方仓库的工具:它会替你写好 sources 文件并安装签名密钥,并在使用前先对照签名元数据校验该密钥。本仓库以 griffo 之名登记其中,永久免费镜像则为 griffo-free,因此在 Debian(bookworm、trixie、forky、sid)上,上面的命令就是全部配置。
extrepo 只负责 sources 文件和密钥,订阅凭据仍然要写入 /etc/apt/auth.conf.d/deb.griffo.io.conf。Ubuntu 不在覆盖范围内,因为 extrepo 只发布 Debian 各套件的元数据:在 Ubuntu 上请使用 sudo 或 root 的命令。
步骤 2:安装 jujutsu
# Install latest jujutsu
sudo apt install jujutsu
# Verify installation
jj --version# Install latest jujutsu
apt install jujutsu
# Verify installation
jj --version🎯 基本用法示例
# Show version
jj --version
# Initialize jj in an existing Git repo
jj git init --colocate
# Clone a Git repository
jj git clone https://github.com/user/repo.git
# Show the working-copy status
jj status
# Describe the current change
jj describe -m "My change"
# Undo the last operation
jj undo🚀 为什么选择 deb.griffo.io?
- 官方 Debian:往往落后数月,缺少最新功能
- deb.griffo.io:发布后数小时内即可获取最新版本
- 手动安装:需要手动下载并配置 PATH
- 我们的仓库:预构建、开箱即用的软件包
- ✅ 最新功能:立即获取 Jujutsu 的最新功能和改进
- ✅ 无需手动配置:预构建二进制文件,通过 apt 安装和更新
- ✅ 自动更新:软件包在上游发布后数小时内完成更新
- ✅ 正确的依赖管理:正确打包所有必需的库
- ✅ 多发行版支持:支持 Bookworm、Trixie 和 Sid
- ✅ 易于维护:简单的 apt 命令即可完成更新
📦 软件包构建仓库
Debian 软件包在此 GitHub 仓库中自动构建和维护:
- 📁 jujutsu-debian - Latest release builds
🔗 相关软件包
也可从 deb.griffo.io 获取:
- lazygit - 简洁的 git 命令终端 UI
- Helix Editor - 后现代模态文本编辑器
- Starship - 快速、可定制的跨 shell 提示符
💝 支持此项目
如果这个仓库为你节省了时间和精力,请考虑支持它!