commit-rewriter 0.1 发布,可编辑 Git 提交信息

Simon Willison··作者 Simon Willison

关键信息

该界面支持按提交信息、作者或哈希搜索,也可以只显示已编辑的提交、逐条修改信息并查看完整格式化差异。由于重写提交会改变历史,带时间戳的分支可以用于恢复,但用户仍需考虑替换或发布重写后历史记录所带来的影响。

资讯摘要

Simon Willison 发布了 commit-rewriter 0.1,此工具最初是为了清理 Datasette 安全版本发布所涉及的提交信息而开发的。那些初始提交中包含编程代理生成的冗余内容,以及来自私有代码库的问题编号,因此不适合直接公开。用户可以运行 `uvx commit-rewriter path/to/repo` 启动应用;如果当前已经位于该代码库目录中,也可以省略路径。`uvx` 会在隔离环境中运行 Python 命令行工具,因此用户无需永久安装该工具即可尝试。

网页界面会显示代码库路径、当前分支和提交哈希,并提供可搜索的近期提交列表和可编辑的提交信息文本框。用户可以查看待处理修改、丢弃草稿、重写提交信息,还可以检查某个提交的完整格式化差异。提交修改后,commit-rewriter 会从当前代码库状态创建一个带时间戳的分支,然后从第一个被编辑的提交开始,一直重写到最新提交。

commit-rewriter 0.1 发布,可编辑 Git 提交信息

资讯正文

发布:commit-rewriter 0.1

前几天,我开发了这个小型 Web 应用,用来帮助编辑 Datasette 安全版本的提交消息。最初的提交中充斥着编码代理生成的冗余内容,还引用了我们私有仓库中的 issue ID,因此不适合公开发布。

如果你想编辑某个仓库的提交消息,可以这样运行:

uvx commit-rewriter path/to/repo

如果你当前已经位于该仓库的目录中,可以省略路径。

截图展示了 commit-rewriter 的 Web 界面:顶部标题下方显示仓库路径、当前分支和提交哈希,并附有工具简介。工具栏显示待处理的编辑数量,并提供“Discard drafts”(放弃草稿)和“Rewrite commit messages”(重写提交消息)按钮;下方还有可按消息、作者或哈希搜索的搜索框,以及“Edited only”(仅显示已编辑)复选框。左侧名为“Navigate commits”的边栏列出了近期提交消息及其短哈希。主面板中,每个提交都以卡片形式显示,包含其哈希、作者和时间戳、一个可编辑的提交消息文本框,以及“View full formatted diff”(查看完整格式化差异)切换项。

提交编辑后,该工具会为当前仓库状态创建一个带时间戳的分支,以便你在需要时恢复;随后,它会从你编辑的第一个提交开始,一直到最近的提交,重写这期间的每个提交。

来源与参考

  1. 原始链接
  2. Release: commit-rewriter 0.1

收录于 2026-09-15