git-rewrite-commits 是一个开源工具,它利用AI能力自动重写Git仓库中已提交的Commit信息,目前已在GitHub上获得了超过1.2k的Star。
开源项目地址:
https://github.com/f/git-rewrite-commits

该工具的核心功能是使用AI模型重新生成清晰、规范的Git提交信息。修改完成后,需要执行强制推送来更新仓库历史。这对于那些因历史提交信息杂乱而难以维护的项目来说非常实用,无需手动逐条修改,仅需一行命令即可自动化完成整理工作。
下文将详细介绍其使用方法。尽管项目自身提供了文档,但为了更清晰地上手,我们整理了以下实践指南。
准备工作:选择AI模型
该工具支持使用OpenAI GPT API或本地的Ollama模型来驱动提交信息的生成。本文将演示如何使用本地Ollama模型来完成这一任务。
首先,你需要安装Ollama。具体安装步骤请参考其官方文档:
https://docs.ollama.com/quickstart
此外,Ollama提供了“Cloud”云模型服务,允许你通过本地Ollama客户端调用云端的高性能模型,获得与本地运行相似的使用体验。
要使用云模型,你需要一个在 ollama.com 上的账户。在终端执行 ollama signin 命令进行登录或注册。登录后,在网站头像->设置页面,可以查看云模型的使用额度。

在模型列表中,云模型会有特殊的标识。

开始使用
在需要进行Git提交信息重写的仓库根目录下,执行以下命令:
npx git-rewrite-commits --provider ollama --model qwen3-coder:480b-cloud --min-quality-score 10 --language zh --verbose

你可以通过执行 npx git-rewrite-commits --help 来查看所有可用参数。
下面以一个博客项目为例,演示完整流程:
1. 确认执行
命令运行后,工具会列出将要被重写的提交,并请求确认。输入 y 继续。

2. AI生成过程
工具开始调用Ollama模型,为每一个历史提交生成新的、更规范的提交信息。

3. 确认重写
所有新信息生成完毕后,工具会再次询问是否执行重写操作。输入 y 确认后,它将开始实际修改本地的Git历史。

4. 完成与提示
重写完成后,工具会给出明确的后续操作指引,并自动创建一个备份分支以防万一。

提示信息翻译如下:
- 查看更改:
git log --oneline
- 如果满意,强制推送:
git push --force-with-lease
- 如果出现问题,恢复:
git reset --hard backup-main-1765263878856
- 完成后清理备份:
git branch -D backup-main-176526387885
5. 强制推送更新远程仓库
执行 git push --force-with-lease 将重写后的历史推送到远程仓库。

如果遇到权限错误,请检查仓库设置,确保允许强制推送,然后重试。
总结
git-rewrite-commits 是一款高效的DevOps工具,它通过集成人工智能模型,自动化地解决了Git项目历史提交信息不规范的问题。对于希望提升代码仓库可读性和维护性,但又不想投入大量时间手动修改的开发者而言,通过一行简单的命令行即可实现批量优化,非常便捷。
来源:juejin.cn/post/7581428845683179563