HeadlinesBriefing favicon HeadlinesBriefing.com

Maiao:从 CLI 创建堆叠 GitHub PR

Hacker News •
×

Maiao 是 adevinta/maiao 的社区分支,为 GitHub、GitLab、Gitea、Forgejo、Bitbucket Cloud 和 Cursor Origin 带来了 Gerrit 风格的堆叠拉取请求。它使开发人员能够将大型功能拆分为小型、可审查的提交,其中每个提交都成为具有正确父子依赖关系的自己的 PR/MR。

该工具提供 `git review` 命令,按提交创建单个 PR/MR,自动堆叠它们,注册原生堆叠(GitHub Stacks、GitLab 自动检测的堆叠),使用 `git commit --fixup` 管理修复,借助 Gerrit commit-msg 钩子跟踪提交的 Change-ID,并在 PR/MR 被合并时自动重新基于堆叠。Maiao 从已知主机的远程 URL 自动检测提供程序,并对自托管实例进行提示。

关键优势包括细粒度审查、清晰的历史记录、易于修复、自动堆叠、原生堆叠集成、合并检测、重新基于集成以及多提供商支持。对于 GitHub,Maiao 将原生堆叠视为渐进式增强,探测 Stacks API 并在受支持时注册 PR 作为堆叠。

Maiao 在 MIT 许可证下免费且开源。通过 CONTRIBUTING.md 欢迎贡献。它实现了堆叠 diff 的方法,进一步阅读可从 Jackson Gabbard 的基础文章和 Graphite 的指南获得。

名为小岛屿的 Maiao 鼓励在拉取请求中进行更小更好的提交。