V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
bixinhaner
V2EX  ›  程序员

卧槽 codex 又自己执行了 git restore

  •  
  •   bixinhaner · Jan 17 · 5792 views
    This topic created in 105 days ago, the information mentioned may be changed or developed.

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

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

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