不想下班后再跟代码纠缠?只要一句命令,让 AI 在你睡觉时自动提交干净代码!本文教你一步一步把 gnhf(good night, have fun)装进项目,让它像自来水一样悄悄流进你的仓库。
核心本质:把 AI 当成守夜的代码工匠
- 把目标(比如补全测试、降低复杂度)喂进去,AI 每次尝试都用
git commit把成功的改动保存。 - 失败就立马
git reset --hard把现场恢复,保证仓库始终干净。 - 所有迭代过程写进
notes.md,相当于一本“工作日志”。
为什么大家都以为自动化只能靠 CI?
传统 CI 只能在代码 push 后跑一次检查,不能主动去改代码。很多人误以为只能手动写脚本或一次性生成代码,结果要么一次成功要么全盘崩溃。
gnhf 的反直觉干货:让 AI 持续迭代、实时回滚、自动记忆
gnhf 把每一步都当作一次“微提交”。如果本轮改动不符合预期,直接回滚不留污点;如果符合,就记录下来并且把 notes.md 注入下一轮提示,形成跨轮记忆。这样即使模型偶尔跑偏,也不会把仓库弄得一团糟。
一步到位的上手流程
- 全局安装:
npm install -g gnhf。 - 进入干净的 Git 项目,确保
git status显示 clean。 - 给出明确目标并启动:
gnhf "reduce complexity of the codebase without changing functionality" - 想限定时间?加
--max-iterations 10 --max-tokens 5000000。
进阶玩法:多 Worktree 同时跑不同任务
如果你有多个小目标,使用 --worktree 参数让每个 AI 在独立的工作树里跑,互不干扰。类似于给每个 AI 分配一套独立的厨房,做各自的菜。
# 同时跑三个任务
$ gnhf --worktree "add tests for module A" &
$ gnhf --worktree "refactor utils" &
$ gnhf --worktree "optimize startup time" &
常见坑与最佳实践
- 任务描述要写清楚“验收标准”。比如“把所有重复函数合并成一个,且单元测试覆盖率不低于 80%”。
- 默认情况下如果提示不够具体,AI 可能会无限迭代。加
--max-iterations或在提示里写“只需要一次提交”。 - 注意
notes.md会随迭代累计,长任务会导致 Token 费用升高,必要时手动清理或分支归档。 - 连续三次失败后 gnhf 会自动 abort,防止跑死循环。
实战案例速递
有人用 gnhf 在一整夜里把项目的代码行数从 5000 行压缩到 3800 行,提交历史清晰可追溯;也有人让它在凌晨自动补全所有模块的 README,第二天直接把文档拉进主分支。
后续阅读推荐
如果想了解更细粒度的配置细节,之前我们聊过 gnhf 项目仓库;还可以看看关于 Git 工作流最佳实践的文章,帮助你把 AI 生成的提交更好地融合到团队协作中。
今天的分享就到这里,快去试试让 AI 替你“熬夜”吧!有遇到奇怪的日志或者好玩的结果,欢迎在下面留言聊聊~
评论 (0)