git-knife

一个桌面端 Git 辅助工具,专门用来批量修改提交记录里的元数据——比如提交信息、作者名字邮箱、提交时间这些。现有 GUI 工具要么改不了日期,要么操作别扭,命令行工具又没界面,这玩意儿补的就是这个空档。

Github地址

https://github.com/TheRealYT/git-knife

功能特性

  • 打开仓库选任意本地分支直接改,不用切换分支,工作目录不受影响
  • 改提交信息、作者/提交者姓名邮箱、作者日期/提交者日期
  • 批量查找替换,支持正则,适合把写错的邮箱一次性全换掉
  • 改之前能预览差异,应用前自动备份,一键回滚
  • 检测到签名提交会提醒,可选重新签名
  • 能处理合并提交,保留原来的分支结构
  • 改写过的提交会留个小标记(可关),方便追溯

怎么用

环境要装 git、Node.js + pnpm、Rust,Linux 还得补几个系统库。开发跑起来就两条命令:

1
2
pnpm install
pnpm tauri dev

打包成安装包用 pnpm tauri build。项目自带 GitHub Actions,推个 tag 就能自动编译 macOS、Linux、Windows 三端的安装包,不过目前没做代码签名。

改完历史强制推送记得用 git push --force-with-lease,比裸 --force 安全点,远程有更新会拦你一下。要是改的是已经推上去的共同历史,团队其他人得重新同步