Issue Description
Windows 上 Qoder Desktop 0.2.1 的「AI 代码追踪」向仓库注入 git hooks,导致两个严重问题:
- 每次执行
git commit,Qoder 主程序窗口被拉起至前台,且 git 命令被阻塞,必须手动退出 Qoder 后 commit 才继续完成。 - 每次执行
git push报错error: cannot spawn .git/hooks/pre-push: No such file or directory,必须加--no-verify才能推送。
Steps to Reproduce
- 安装 Qoder Desktop 0.2.1(Windows),打开任意 git 仓库。
- 终端执行
git commit→ 观察 Qoder GUI 被拉起、命令卡住,退出 Qoder 后才继续。 - 终端执行
git push→ 观察cannot spawn .git/hooks/pre-push报错。
Root Cause(已定位)
注入的 hooks 位于 .git/hooks/:
post-commit/post-checkout:启动完整 GUI 主程序Qoder.exe .../qoder-agent-sdk/dist/_worker/qoder-worker-runtime.obf.mjs commit --hook --workspace <repo>(checkout 时为ai-code-tracking-hook post-checkout)。Git 同步等待 hook 结束;Windows 将新进程窗口激活到前台,于是 Qoder 抢占屏幕且 git 被挂起。pre-push:生成为 0 字节空文件、无 shebang。Git for Windows 执行空 hook 报cannot spawn。- 手动删除 hooks 后短时间内被重新写入。
- 配置键
settings.aiCodeTracking.installGitCommitHook存在,但设置界面无对应开关、无文档说明。
Expected Behavior
- hook 内不得启动 GUI 进程:改用无窗口后台进程,绝不应阻塞 git 命令。
- 修复空
pre-push的生成逻辑。 - 设置界面提供显式开关,并在注入 hooks 前征求用户同意。
Actual Behavior
git commit被拉起 Qoder 阻塞,须手动退出 Qoder 才完成。git push必须--no-verify。
Workaround(供其他用户参考)
- 仓库级(立即生效,阻止 Qoder 重新注入的 hook 被执行):
git config core.hooksPath .githooks(建一个空目录)。 - 全局配置:
~/.qoder/settings.json加settings.aiCodeTracking.installGitCommitHook: false(需重启 Qoder)。
Operating System
Windows 11 (10.0.26100),Git for Windows
Current Qoder Version
0.2.1(安装目录 .qoder-versions/0.2.1)
