Show HN: Kinetic Merge – 合并重构后的代码库,保持头脑清醒
Kinetic Merge 是一款 MIT 许可的命令行工具,旨在解决跨分支重构代码的合并难题。它能处理细粒度的代码移动(如方法提取、可见性排序、类封装等),远超 Git 通过文件移动合并的能力。基于 Git 历史工作并生成合并提交,需要 JRE ≥ 17,现已发布 57 个版本,脱离 alpha 阶段。
背景速读
- 作者遇到的问题:Git 等版本控制工具能追踪文件的移动(rename),但无法处理重构(refactoring)中更细粒度的代码移动,比如把子类提升、提取方法、按可见性排序方法、把代码打包成新类并移入新文件等。当另一个分支在重构前的旧代码上做了功能修改时,合并就会变得极其混乱。
- KineticMerge 是一个 CLI 工具(MIT 许可证),试图自动解决这类"重构 vs 功能修改"的合并难题。需要 JRE 17+,当前依赖 Git 历史并生成 Git merge commit。
- 项目已发布 57 个版本,作者称已脱离 alpha 阶段,自己也在生产中使用。
- 作者最初设想用遗传算法实现,但六个月内就放弃了——具体改用何种算法,文中未详述。