卧槽 codex 又自己执行了 git restore

1 月 17 日
 bixinhaner

碰到过好几次了,经常发生在上下文压缩以后,它会检查工作区情况,发现有代码更改就自言自语说要恢复干净,把上下文压缩前写的代码全恢复了。 如果开多个窗口会话同时也代码,也经常会互相干扰,自言自语说工作区发生了未知变化,开始恢复再干活,明明都是不同模块的代码也不管。

有没有什么好办法?给 agent.md 里写个 rule:禁止使用任何 git 命令。禁止 codex 所有操作 git 权限可行吗? git 操作全部是我手动操作,不让 codex 接触没啥副作用吧?

6475 次点击
所在节点    程序员
24 条回复
tinybaby365
1 月 17 日
做完一个阶段性任务后就 git commit 。人有的时候也会改乱了,返工重新开始。
noahliaszn
1 月 17 日
多个窗口可以用 worktree 解决 也不会影响, 另外你可以/undo 恢复到上一次修改的地方
lscho
1 月 17 日
我不喜欢用 cli 工具的原因就是这个。。。编辑器可以设置某些命令不允许执行,但是 cli 就提心吊胆的
noahliaszn
1 月 17 日
@lscho cli 也可以设置,它不是黑盒
YanSeven
1 月 17 日
没有强有力的规则机制限制 llm 执行某些指令吗,譬如命令执行的时候正则匹配,如果执行了 git restore 则拒绝执行。我记得 claude code 不是有一个 hooks 机制吗。
MIUIOS
1 月 17 日
改一次我就 commit 一次,不要信 ai 的指令遵循性,上下文一压缩马上成傻子。
sch1111878
1 月 17 日
怎么样才可以让 claude 不生成那么多文档, 改个功能剩写四份文档...
JoJoP
1 月 17 日
agent.md 里写个规则 写个 git 命令的黑名单和白名单就行
keenkiller
1 月 17 日
回头就给你 git push --force
yanghanlin
1 月 17 日
Claude Code 可以通过设置 hook 阻止某些命令执行,是确定性的没有 LLM 参与;不知道 Codex 有没有类似的功能
qwetrz007sh
1 月 17 日
@sch1111878 同问
YaakovZiv
1 月 17 日
我是改一点内容就测试,立马提交,然后再进行下一阶段。我就怕快结束的时候突然清空。
zisen
1 月 17 日
https://v2ex.com/t/1186292#reply2
BRO 看我的帖子,我的工作区也被它 restore 了关键还不保存临时状态,有点不敢用了
xiaoming1992
1 月 17 日
我用 vscode copilot ,执行任何命令都需要手动点确认的,这个不需要的吗?
strongcoder
1 月 17 日
@sch1111878 配置 rule 啊 在没有明确指令的情况下不生成 MD 文档 ,我们的 rule 都写了好几百条了 各种规范 也包括不要随意操作 git git 的操作都是自己操作
Puteulanus
1 月 17 日
先把 .git 直接挪走,有更改,有什么更改(
avacooper
1 月 17 日
不给命令行权限,全部都需要自己确认
Steaven
1 月 17 日
我今天 Copilot 也把我修改的代码 restore 了,不过问题不大
VitalyR
1 月 18 日
@Alias4ck /undo 这个命令已经不存在了
xlianglx
1 月 18 日
它还把我包含 openrouter 的 api key 的配置文件直接推送到公共仓了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1186378

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX