git-knife: 像表格一样编辑 Git 提交元数据
Show HN: Git-knife – edit commit messages, authors, and dates like a spreadsheet
git-knife 是一款清爽的桌面 GUI 工具,让你能像操作电子表格一样批量修改 Git 提交记录中的消息、作者、作者日期和提交者日期。不同于 GitKraken 或 lazygit 等现有工具对日期字段的限制,git-knife 填补了图形化界面无法深度重写元数据的空白。它直接调用系统 git CLI 并通过 git commit-tree 重建提交,确保文件内容绝对不被修改。工具内置自动备份和强制推送安全提示,支持正则批量替换,是修复历史元数据错误的理想选择。
它从不重写 git 本身,而是调用系统 git CLI 并重建提交,确保文件内容被证明从未被更改。
HN 评论区
100- NichoPaolucci
“它从未重新实现 git——而是调用系统自带的 git CLI,利用 git commit-tree 重建提交,复用每个提交的原始树对象,从而确保文件内容绝对不会被篡改。”
很高兴 LLM 注意到了这一点——我原本还担心这会重新实现一套 git。
- lrvick
截图看起来像是有人对着显示器拍的照片。我不禁好奇为什么不用截图功能。而且不知为何,这让我完全不想碰这个项目。
- beart
这很酷,但有人需要过修改提交作者或日期吗?
- Defletter
我很欣赏它使用了 git-notes,并在自己的命名空间下创建备份分支。不过我希望它能更轻量一些。
没人提到,但你可能想看看 https://github.com/mystor/git-revise
- iamcoder18
注意:对于使用多位作者签名提交的仓库,此工具将无法工作,且根本无法工作。
签名的 git 历史是不可变的,而未签名的 git 历史则是供应链攻击的向量。
尽管如此,我认为它在单人作者的 WIP 分支进行 PR 前的清理工作时可能会很有用。