这是一个名为maiao的开源工具,是adevinta/maiao的社区分支,用于在命令行中无缝管理GitHub的Pull Request。原仓库已不再维护,此分支将继续开发。
正文
Maiao 是一款命令行工具,旨在简化 GitHub 等平台的 PR(Pull Request)管理。它源自社区分支,原项目已停止维护。Maiao 的核心功能是支持“堆叠式 PR”工作流,能将一个分支中的多个提交自动拆分为独立的 PR,并按依赖关系自动堆叠。例如,三个连续提交会生成三个 PR,后一个依赖前一个。该工具支持 GitHub、GitLab、Gitea、Forgejo、Bitbucket Cloud 和 Cursor Origin 等多种平台,并能自动识别远程仓库类型。Maiao 还提供原生堆叠支持(如 GitHub Stacks)、自动变基、修复提交管理(通过 git commit --fixup)等功能。其优势在于实现细粒度审查、保持清晰提交历史、自动处理依赖和合并检测。用户可通过 git review 命令一键创建堆叠 PR。Maiao 是免费开源项目,采用 MIT 许可证,欢迎贡献。
评论
以下是对评论内容的总结,关注主要观点、论据及认可度(评分均为None,故不单独标注),并保持不同观点的平衡性:
1. 对Gerrit的怀旧与对比 - 部分用户怀念Gerrit的UI/UX,认为其优于GitHub的PR体验(评论3)。关键引用:"As someone who much prefers Gerrit's UI/UX over GitHub's UI... a wish someone would create such a thing for those of us forced to leave Gerrit behind for... GitHub." - 但也有用户明确拒绝Gerrit(评论12)。关键引用:"as someone who used Gerrit for a year: No"
2. 对“每提交一个PR”工作流的质疑 - 有用户质疑为每个提交单独创建PR的做法,认为这过于复杂(评论4)。关键引用:"Who is creating a separate PR for each commit on their feature/fix branch? sounds like crazy town." - 另有用户指出新手难以掌握单次提交,这种工作流可能无助于改善(评论8)。关键引用:"IME juniors struggle with making single commits in the first place... This doesn't help with that, does it?"
3. 对工具比较与功能需求 - 有用户推荐Reviewable.io,认为其支持逐提交审查、强制推送后仍能追踪所有变更,且无需插入Change ID(评论11)。关键引用:"Code review tools should really compare with reviewable.io... it needs not 'Change IDs' inserted in your commits... '1 PR = 1 commit = 1 review' workflows are just workarounds." - 另有用户询问与jujutsu的兼容性(评论5)。关键引用:"Is it compatible with jujutsu?"
4. 对项目背景与文档的反馈 - 有用户注意到项目从adevinta迁移到runetes,询问背后故事(评论6)。关键引用:"The repo seems to move from 'adevinta'... to 'runetes'. Anyone to tell us the story?" - 也有用户指出许多问题已在页面中解答,建议用户先阅读文档(评论10)。关键引用:"Ton of questions asked that are answered on the posted page... Guys your fellow users are not Gemini."
5. 对PR反馈文化的反思 - 有用户希望社区改进PR反馈方式,避免其成为剥削工具(评论7)。关键引用:"I wanted the community to evolve our approach to providing PR feedback... it became a tool for people to exploit their workers."
6. 对技术栈历史的调侃 - 有用户以幽默方式追溯工具链:Maiao基于Gerrit,Gerrit基于Rietveld,Rietveld集成SVN(评论9)。关键引用:"Maiao is based on Gerrit... Gerrit is based on Rietveld... Rietvelt integrates with SVN"(附XKCD链接)。