主要观点:过去一年使用多种工具自动重写/重构代码,运行后有很多额外 unintended 变化,后续“清理”步骤手动且繁琐,作者意识到可自动 stage 包含搜索词的 hunks,用 expect 工具可实现,安装后可通过git add-match
命令对含特定字符串的 hunks 进行 stage;编辑部分:有用户建议用grepdiff
,即git diff | grepdiff --output-matching=hunk PATTERN | git apply --cached
。
关键信息:使用的工具如 semgrep、ast-grep、LLMs 等;清理步骤手动;expect 工具实现自动 stage;git-add-match 命令及用法;grepdiff 替代方案及用法。
重要细节:运行工具后代码有多种额外变化;expect 脚本中设置超时及获取搜索模式等;grepdiff 命令的具体参数及流程。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。