<!-- title: 冲突也能合并：重写Git的人 -->

# 冲突也能合并：重写Git的人

**概述**：这一轮的挖法有点反常。本周新星榜被同一个 Jev 梗包了场——前十名大半是同款变体，稍有新意的仓库上线 24 小时内就被各家专栏认领完毕，追风口已无增量。所以本期换了一条矿脉：**不追热点，专挖「数字家底」这条安静赛道**。七个仓库按一条完整流水线各司其职——写代码有重写版版本控制 jj，管数据有给数据库开分支的 Dolt 和一条命令查全库的 sq，存家底有加密备份引擎 Kopia 与 SQLite 容灾复制 Litestream，守门有提交前密钥安检 ripsecrets，收尾还有磁盘大扫除 kondo。除素材快照外，文中 Star 数均为量级估计（未核验），请以仓库页面实时数据为准。

---

### 1. jj-vcs/jj（jujutsu）| 万星级（未核验）| 高频活跃迭代

仓库链接：https://github.com/jj-vcs/jj

**一句话定位**：一位 Google 工程师下班写出来的 Git 兼容版本控制系统，把「做错事」从事故变成了普通操作。

Git 十年没变过的东西，恰恰是它最劝退的部分：暂存区的心智负担、rebase 中途像走钢丝的紧张感、冲突一来就得立刻解决否则寸步难行。jj 用 Rust 把这套模型整个重写：**工作副本本身就是一个提交**，你随手改的每个字符都自动被 amend 进去，不存在「忘了 add」这回事；所有历史操作都记在 op log 里，`jj undo` 一条命令把仓库退回任何一个操作之前，改坏了历史也不会丢。最激进的设计是把冲突当成一等公民：带着冲突的提交可以合法存在、可以继续被推送和合并，等你哪天想通了再回头解决——版本控制第一次变得「可以拖延」。

更务实的是它的共存策略：`jj git init --colocate` 直接长在现有 Git 仓库上，远端还是 GitHub，同事用 Git 不受任何影响，你单独升级。据项目维护者在社区的公开披露，Google 内部部分团队已在实际使用 jj（未经 Google 官方新闻稿证实）；项目也已从个人仓库迁入独立的 jj-vcs 组织，进入多人接力维护状态。

**上手难度**：⭐⭐⭐⭐（命令都会记，难的是改掉十年 Git 肌肉记忆）
**适用人群**：被 rebase 折磨过的重度 Git 用户、monorepo 团队。商业方向：企业 VCS 迁移咨询、基于 jj 的代码评审与开发效率工具链——版本控制层十年没人动过，谁先做出配套生态谁吃红利。

---

### 2. dolthub/dolt | 万星上下（未核验）| 商业公司持续投入

仓库链接：https://github.com/dolthub/dolt

**一句话定位**：把 Git 的分支、提交、合并原样搬进数据库——每一行数据都有历史、可回滚、可评审。

代码有 Git 二十年，数据却还是「裸奔」：改坏了谁改的？上周的报表数字为什么对不上？想回滚？对不起，只有昨夜的整库备份。Dolt 直接回答了这个问题：它是一个 **MySQL 协议完全兼容的 SQL 数据库**，用你现有的 MySQL 客户端就能连上，但 `git branch`、`git commit`、`git merge` 这些动词对表和行同样生效。开个分支改价格表，合并回主干时冲突会精确到单元格级别提示给你；任何一行数据都能追问「这次变更来自哪个提交、谁在几点改的」。

存储层是它真正的护城河：自研的 Prolly Tree（一种概率性 Merkle 树结构）让分支几乎零拷贝、diff 和合并快得像本机操作，这让「每个环境一个分支」在工程上真正可行。配套的 DoltHub 相当于数据界的 GitHub——可以给一份数据发起 Pull Request 请人评审，甚至悬赏众包。背后的 Dolthub 是家正经商业公司，把开源数据库做成生意这件事，它已经跑了五年多。

**上手难度**：⭐⭐⭐（会 MySQL 就能上手，分支模型照搬 Git 直觉）
**适用人群**：数据团队、金融/医疗等有审计刚需的行业、做数据众包平台的人。商业方向：版本化数据托管、合规审计底座、给内部工具加上「数据时间机器」的二开需求都现成。

---

### 3. kopia/kopia | 近万（未核验）| 长期稳定维护

仓库链接：https://github.com/kopia/kopia

**一句话定位**：先加密再去重上传的快照式备份引擎，让「备份」从复制粘贴变成一条命令的日常。

大多数人的备份现状：重要目录手动拷进网盘，明文躺在别人的服务器上，重复文件占满空间，想找回上周删掉的版本才发现根本没备。Kopia 把这整套流程工业化：写入前先在本地用 AES-256-GCM 或 ChaCha20 加密，密钥不离开你的手；内容寻址的去重加 zstd 压缩让重复数据几乎不占空间；每次备份是一个快照，配合保留策略自动清理，「恢复到上周三下午」变成一个普通命令。

后端支持面是它最贴心的一点：本地磁盘、S3、B2、GCS、Azure 原生支持，其余几十种云盘通过 rclone 桥接统统接入——你的备份存哪，数据主权就在哪。除 CLI 外还带 KopiaUI 图形客户端和服务端模式，小到个人电脑、大到团队统一备份策略，同一套引擎全覆盖。

**上手难度**：⭐⭐（图形端装完即用；策略调优再进阶）
**适用人群**：所有「知道自己该备份但一直没做」的人。商业方向：MSP 托管备份交付、NAS/私有云厂商内嵌、把它当底座做面向小企业的备份服务——数据安全是付费意愿最直白的品类。

---

### 4. benbjohnson/litestream | 万星上下（未核验）| 社区组织接续维护

仓库链接：https://github.com/benbjohnson/litestream

**一句话定位**：给 SQLite 装上的隐形救生艇——持续把数据库增量流式复制到对象存储，坏了随时回到任意一秒。

SQLite 单文件的优雅，配上「服务器一烧全完」的脆弱，是嵌入式和小型服务领域多年的心结；传统主从复制那套重型架构对它又是杀鸡用牛刀。Litestream 的解法极轻：一个后台守护进程，持续监视数据库的 WAL（预写日志），把增量近乎实时地运到 S3 兼容的对象存储；需要恢复时，从存储拉回最新快照加日志重放，可以精确到任意时间点。应用程序零改造，成本就是每月几毛钱的存储费。

作者 Ben Johnson 因为这个项目被云厂商 Fly.io 收入麾下（据其博客），如今项目已交由社区组织接续维护，围绕它的教程和最佳实践沉淀得足够厚。对大量「用 SQLite 做产品」的团队来说，这个仓库就是敢把生产数据放进去的底气来源。

**上手难度**：⭐⭐⭐（要自己管好对象存储凭据与进程守护）
**适用人群**：小型 SaaS、边缘设备、本地优先软件的开发者。商业方向：为 SQLite 系产品做灾备托管增值服务；边缘计算与离网设备的数据保险，都是还没有霸主的空档。

---

### 5. sirwart/ripsecrets | 数百星（未核验）| 低频稳定

仓库链接：https://github.com/sirwart/ripsecrets

**一句话定位**：只干一件事的密钥安检员——在你按下 push 之前，把 API key 和私钥拦在本地。

密钥泄漏的开场白永远是同一句：调试图快忘了自己把测试密钥写死在代码里，一推上远端就成了漏洞库里明码标价的商品。市面上的扫描器大多面向安全团队做全量历史回扫，重、慢，塞不进开发者的日常。ripsecrets 反其道而行：Rust 写的单二进制，专为 pre-commit 场景设计——只扫将要提交的新增改动，速度快到毫无感知，规则覆盖云厂商访问密钥、私钥块等常见形态（据仓库 README）。全量回扫交给重型工具，它只负责把守「新泄漏」这道最便宜的闸门。

它的价值在工程习惯层面：一个团队把同一个 ripsecrets 配置统一进仓库钩子，密钥事故率是从根上降的，而不是靠事后追责。Star 不高，但它解决的问题几乎每个团队都踩过。

**上手难度**：⭐⭐（装进 pre-commit 钩子即完成部署）
**适用人群**：所有往 Git 推代码的人。商业方向：企业级开发安全套件里的「提交前安检」组件、给外包交付团队做的安全基线配置服务，都是顺手就能接的活。

---

### 6. b0o/sq | 千星上下（未核验）| 持续迭代

仓库链接：https://github.com/b0o/sq

**一句话定位**：把 jq 的魔法用到数据库上——一条命令，让 MySQL、Postgres、SQLite 和 CSV 文件在同一根管道里说话。

数据生活里最常见的碎片化场景：用户表在 Postgres、配置在 MySQL、一份导出的 CSV 躺在下载目录，想把它们对齐看一眼，得开三个客户端、导两趟数据。sq 的思路是把 jq 那套「选地址、过管道」的语法直接搬到数据源上：`@库名.表` 定位一张表，后面接 filter、切片就像操作 JSON 数组，输出可以直接落成 JSON 继续喂给 jq 或脚本。查询 SQLite 文件和 CSV 不需要起任何服务，装完即查。

它不做重型 BI，也不抢 IDE 的活，只把「跨源取数」这个高频小动作做到零摩擦——典型的单一痛点、即装即用。Star 还在千星量级，正属于「现在上车还算早期用户」的品类。

**上手难度**：⭐⭐（会 jq 或 SQL 任意一样即可）
**适用人群**：天天和数据杂务打交道的工程师、做自动化脚本的人。商业方向：内网报表自动化、给运营岗做只读查询门面，或嵌入自家产品当数据查询组件。

---

### 7. tbillington/kondo | 千星上下（未核验）| 社区维护

仓库链接：https://github.com/tbillington/kondo

**一句话定位**：开发者磁盘的断舍离管家——扫出全机散落的编译垃圾，只删可再生的，源码一根毫毛不动。

每个开发者都有一块说不清去哪了的硬盘：三年前打开过的项目留下几个 GB 的 node_modules、Rust 项目的 target、各种 build 与缓存目录，散落在家目录的每个角落，不敢乱删又懒得逐个清。kondo 用 Rust 并行扫描整个磁盘，按语言识别项目类型，逐项列出「这个项目可以回收多少 GB」；确认后执行清理，删掉的只有依赖和编译产物这类一条命令就能重新生成的目录，源码与配置原地不动。先看账单、再动手，整个过程心里有数。

它是本期最没有技术光环的一个，却是从安装到见效距离最短的一个——对常年吃灰的旧开发机，一次扫描常常能白捡几十上百 GB。

**上手难度**：⭐（扫一遍、确认、删，三步完事）
**适用人群**：所有开发机磁盘飘红的人。商业方向：单独卖价值有限，但很适合内嵌进开发者工具箱、企业终端治理脚本，当「磁盘体检」组件。

---

## 本期横评

| 仓库 | 类型 | Star（量级，未核验） | 上手难度 | 适用场景 |
|---|---|---|---|---|
| jj-vcs/jj | 版本控制 | 万星级 | ⭐⭐⭐⭐ | 替代/共存 Git，重历史操作 |
| dolthub/dolt | 数据库 | 万星上下 | ⭐⭐⭐ | 数据分支协作、审计回滚 |
| kopia/kopia | 备份 | 近万 | ⭐⭐ | 加密去重快照备份 |
| benbjohnson/litestream | 容灾 | 万星上下 | ⭐⭐⭐ | SQLite 流式复制与恢复 |
| sirwart/ripsecrets | 安全 | 数百星 | ⭐⭐ | 提交前密钥拦截 |
| b0o/sq | 查询工具 | 千星上下 | ⭐⭐ | 跨数据源 jq 式取数 |
| tbillington/kondo | 磁盘清理 | 千星上下 | ⭐ | 编译垃圾大扫除 |

## 本期全景

```mermaid
mindmap
  root((数字家底自助流水线))
    写
      jj 重写版本控制
      sq 跨源一条命令查
    存
      Dolt 给数据开分支
      Kopia 加密去重备份
    守
      Litestream 容灾复制
      ripsecrets 密钥安检
    清
      kondo 编译垃圾回收
```

## 本期之最

- **最值得立即尝试**：[ripsecrets](https://github.com/sirwart/ripsecrets)——十分钟给所有仓库装上密钥安检，是七个仓库里从安装到消除一个真实风险距离最短的。
- **最有商业潜力**：[Dolt](https://github.com/dolthub/dolt)——「数据即代码」是审计、协作、合规三条付费赛道的公共底座，背后的 Dolthub 已经验证过这条路能走通；Kopia 的托管备份紧随其后。
- **最被低估**：[Litestream](https://github.com/benbjohnson/litestream)——Star 常被拿来与花哨项目比，但它是大量 SQLite 系产品敢于上生产的真正底气，安静地替人守着身家。

## 参考来源

1. [jj-vcs/jj](https://github.com/jj-vcs/jj) — jujutsu 版本控制主仓库，工作副本即提交、op log 与冲突一等公民等特性出自其 README 与文档
2. [dolthub/dolt](https://github.com/dolthub/dolt) — Dolt 版本化数据库主仓库与 [DoltHub](https://www.dolthub.com) 数据托管平台
3. [kopia/kopia](https://github.com/kopia/kopia) — Kopia 加密备份引擎主仓库
4. [benbjohnson/litestream](https://github.com/benbjohnson/litestream) — Litestream SQLite 流式复制主仓库，作者加入 Fly.io 一事据其个人博客
5. [sirwart/ripsecrets](https://github.com/sirwart/ripsecrets) — 提交前密钥扫描工具主仓库
6. [b0o/sq](https://github.com/b0o/sq) — jq 风格跨数据源查询工具主仓库
7. [tbillington/kondo](https://github.com/tbillington/kondo) — 开发项目清理工具主仓库

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
