介绍 git-revise

主要观点:作者在 Mozilla 用补丁栈工作,常用git rebase -i,但mozilla-central大仓库下该命令有诸多缺点,如慢、触发重建、状态性强、笨拙等,于是开发了git-revise
关键信息

  • git-revise是针对补丁栈工作流的历史编辑工具,快速、无损,提供方便命令和工具。
  • 测试显示git-revisegit rebase -i快 15 倍,通过内存重基算法避免磁盘 I/O。
  • fixup fast(直接应用索引变更)、split commits(拆分提交)、interactive mode(交互式模式)、bulk commit rewording(批量重写提交消息)、autosquash support(自动合并修复提交)等功能。
  • 它不是git rebase -i的完全替代品,有工作目录不修改、不处理文件重命名复制、不支持复杂历史重写等限制。
    重要细节
  • 作者用git cinnabar配合gitmozilla-central有 280268 个文件。
  • 作者样本量小(仅 1 个测试),系统为 Fedora 30 及 X1 Carbon (Gen 6)。
  • -a(或--all)标志会影响索引(因文件被暂存)。
  • 可通过pip安装git-revise,查看 GitHub 仓库、Bug 追踪、Manpage 等资源了解和贡献。
阅读 5
0 条评论