简介
Weave 是一个“按实体而不是按行”合并的 Git 语义合并驱动:以函数/类为单位合并,减少并行分支与多 Agent 编辑的伪冲突,并在不支持类型上回退到 Git 默认策略,更适合并行开发与代码生成场景。
- 适合谁: 多人/多 Agent 并行改代码、经常被合并冲突打断的团队
- 可搭配: Git(merge driver),Homebrew 或 Rust;常见代码文件(TS/Python/Go/Rust 等)
- 准备时间: 5 分钟
实战建议
- 准备时间约 5 分钟:安装后在仓库里执行一次
weave setup - 覆盖多语言;不支持的文件类型会自动回退到 Git 的按行合并
- GitHub stars / forks(已核验)作为采用度信号:见「来源与感谢」
Weave 最适合解决“结构上不冲突、但 Git 误判冲突”的场景:
- 两个 Agent 分别改同一文件的不同函数;
- 一边加 import,一边改附近逻辑,按行 diff 很容易冲突;
- 同一个类两侧都新增方法,但行上下文重叠导致 Git 报冲突。
一个更稳妥的落地方式:
- 先在一个仓库试点,把它当团队约定(避免本地/CI 行为不一致)。
- 如果不想修改
.gitattributes,先走个人维度:用.git/info/attributes配置。 - 保持可逆:遇到极端文件格式时用
weave unsetup立即回退到原生 Git。
它更像“合并加速器”:不替代 Code Review,但能显著减少那些本质上不需要人类介入的机械冲突处理。
FAQ
一句话解释 Weave 是什么? 答:一个按函数/类等“实体”合并的 Git merge driver,用来减少伪冲突。
它免费吗? 答:免费开源,许可证见下方「来源与感谢」。
如何卸载/回退?
答:在仓库里运行 weave unsetup 即可回退到原生 Git 合并。