V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
bixinhaner
V2EX  ›  程序员

卧槽 codex 又自己执行了 git restore

  •  
  •   bixinhaner · 1 月 17 日 · 5155 次点击

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

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

    24 条回复    2026-01-18 14:19:22 +08:00
    tinybaby365
        1
    tinybaby365  
       1 月 17 日   ❤️ 1
    做完一个阶段性任务后就 git commit 。人有的时候也会改乱了,返工重新开始。
    Alias4ck
        2
    Alias4ck  
       1 月 17 日   ❤️ 1
    多个窗口可以用 worktree 解决 也不会影响, 另外你可以/undo 恢复到上一次修改的地方
    lscho
        3
    lscho  
       1 月 17 日
    我不喜欢用 cli 工具的原因就是这个。。。编辑器可以设置某些命令不允许执行,但是 cli 就提心吊胆的
    Alias4ck
        4
    Alias4ck  
       1 月 17 日
    @lscho cli 也可以设置,它不是黑盒
    YanSeven
        5
    YanSeven  
       1 月 17 日
    没有强有力的规则机制限制 llm 执行某些指令吗,譬如命令执行的时候正则匹配,如果执行了 git restore 则拒绝执行。我记得 claude code 不是有一个 hooks 机制吗。
    MIUIOS
        6
    MIUIOS  
       1 月 17 日   ❤️ 1
    改一次我就 commit 一次,不要信 ai 的指令遵循性,上下文一压缩马上成傻子。
    sch1111878
        7
    sch1111878  
       1 月 17 日
    怎么样才可以让 claude 不生成那么多文档, 改个功能剩写四份文档...
    JoJoP
        8
    JoJoP  
       1 月 17 日   ❤️ 1
    agent.md 里写个规则 写个 git 命令的黑名单和白名单就行
    tairan2006
        9
    tairan2006  
       1 月 17 日 via Android
    回头就给你 git push --force
    yanghanlin
        10
    yanghanlin  
       1 月 17 日 via Android
    Claude Code 可以通过设置 hook 阻止某些命令执行,是确定性的没有 LLM 参与;不知道 Codex 有没有类似的功能
    qwetrz007sh
        11
    qwetrz007sh  
       1 月 17 日
    @sch1111878 同问
    YaakovZiv
        12
    YaakovZiv  
       1 月 17 日
    我是改一点内容就测试,立马提交,然后再进行下一阶段。我就怕快结束的时候突然清空。
    zisen
        13
    zisen  
       1 月 17 日
    https://v2ex.com/t/1186292#reply2
    BRO 看我的帖子,我的工作区也被它 restore 了关键还不保存临时状态,有点不敢用了
    xiaoming1992
        14
    xiaoming1992  
       1 月 17 日 via Android
    我用 vscode copilot ,执行任何命令都需要手动点确认的,这个不需要的吗?
    strongcoder
        15
    strongcoder  
       1 月 17 日
    @sch1111878 配置 rule 啊 在没有明确指令的情况下不生成 MD 文档 ,我们的 rule 都写了好几百条了 各种规范 也包括不要随意操作 git git 的操作都是自己操作
    Puteulanus
        16
    Puteulanus  
       1 月 17 日
    先把 .git 直接挪走,有更改,有什么更改(
    avacooper
        17
    avacooper  
       1 月 17 日
    不给命令行权限,全部都需要自己确认
    Steaven
        18
    Steaven  
       1 月 17 日
    我今天 Copilot 也把我修改的代码 restore 了,不过问题不大
    VitalyR
        19
    VitalyR  
       1 月 18 日
    @Alias4ck /undo 这个命令已经不存在了
    xlianglx
        20
    xlianglx  
       1 月 18 日
    它还把我包含 openrouter 的 api key 的配置文件直接推送到公共仓了
    levelworm
        21
    levelworm  
       1 月 18 日 via iPhone
    不用他执行代码就行了,我都是让他不要在编辑器内写代码,而是在对话框里写,写完了我看看。
    sch1111878
        22
    sch1111878  
       1 月 18 日
    @strongcoder 写 rule 了, 无效
    Alias4ck
        23
    Alias4ck  
       1 月 18 日
    @VitalyR 那用 opencode 搭配 codex 就好啦
    DefoliationM
        24
    DefoliationM  
       1 月 18 日
    熟用 git stage ,不想要了一次性全部丢弃。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2244 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 12:03 · PVG 20:03 · LAX 04:03 · JFK 07:03
    ♥ Do have faith in what you're doing.