commit-rewriter 0.1:用网页界面批量改写 Git 提交信息

Simon Willison3 天前

简介

commit-rewriter 0.1 是一个用于改写 Git 提交信息的小型 Web 应用。它的一个典型用途是:在对外发布代码前,清理提交信息中的不必要内容,例如编码代理生成的冗余文字,或不适合公开的内部 issue ID。

使用方式

如果想编辑某个仓库的提交信息,可以运行:

uvx commit-rewriter path/to/repo

如果当前目录已经是目标仓库目录,也可以省略路径参数。

界面与功能

该工具提供一个 Web 界面,用于浏览和编辑仓库中的提交信息。界面中包含:

  • 当前仓库路径、分支和提交哈希信息
  • 待处理编辑数量
  • 放弃草稿按钮
  • 改写提交信息按钮
  • 按提交信息、作者或哈希搜索
  • 仅显示已编辑提交的筛选项
  • 提交列表导航
  • 每个提交对应的可编辑文本框
  • 查看完整格式化 diff 的开关

改写机制

提交编辑完成后,工具会先基于当前仓库状态创建一个带时间戳的分支,以便在需要时回退。

随后,它会从第一个被编辑的提交开始,一直改写到最新提交。这意味着它并不是只修改单个提交,而是会重写从首个修改点到当前最新提交之间的提交历史。

适用场景

这个工具适合用于:

  • 发布前整理提交历史
  • 清理 AI 编程助手生成的提交信息噪声
  • 删除不应公开的内部编号或上下文
  • 让提交记录更适合开源项目或公开发布

需要注意的是,改写 Git 历史会改变提交哈希。对于已经共享给他人的分支,应谨慎使用。

评论

请登录后发表观点

暂无数据